3 #ifndef STAR_St2009WMaker
4 #define STAR_St2009WMaker
23 #include "Wevent2009.h"
24 #include "WtpcFilter.h"
65 TString mJetTreeBranch,mJetTreeBranch_noEEMC;
70 int nInpEve,nTrigEve, nAccEve;
75 int par_l0emulAdcThresh;
76 float par_l2emulSeedThresh, par_l2emulClusterThresh;
78 int par_bht3TrgID, par_l2wTrgID;
80 int par_minPileupVert;
83 float par_nHitFrac, par_trackRin, par_trackRout, par_trackPt;
85 int par_kSigPed, par_AdcThres;
86 float par_maxADC, par_clustET, par_clustFrac24, par_nearTotEtFrac;
87 float par_nearDeltaR, par_awayDeltaPhi, par_smallNearDeltaR;
88 float par_delR3D, par_highET, par_ptBalance;
92 float par_countTrPt,par_countTowEt;
97 float par_mcJetNeutScale;
98 float par_mcJetChrgScale;
102 float gains_BTOW[4801];
104 TH1F* hReweight;
char* nameReweight;
107 void useEtow(
int x){ par_useEtow=x; }
108 void setVertexCuts(
float zm,
int npv) {
109 par_vertexZ=zm; par_minPileupVert=npv; }
110 void setEleTrackCuts(
int nfp,
int hfr,
float rin,
float rout,
float mpt) {
111 par_nFitPts=nfp; par_nHitFrac=hfr;
112 par_trackRin=rin; par_trackRout=rout; par_trackPt=mpt;}
113 void setWbosonCuts(
float a,
float fr2,
float bal) {
114 par_highET=a; par_nearTotEtFrac=fr2; par_ptBalance=bal;}
115 void setEmcCuts(
int ksp ,
float madc,
float clet,
float fr1,
float dr){
116 par_kSigPed=ksp; par_maxADC=madc; par_clustET=clet;
117 par_clustFrac24=fr1;}
118 void setEtowScale(
float x){ par_etowScale=x; }
119 void setBtowScale(
float x){ par_btowScale=x; }
120 void setL0AdcThresh(
int x){ par_l0emulAdcThresh=x; }
121 void setL2ClusterThresh(
float x){ par_l2emulClusterThresh=x; }
122 void setL2SeedThresh(
float x){ par_l2emulSeedThresh=x; }
123 void setJetTreeBranch(TString jetTreeBranch, TString jetTreeBranch_noEEMC){ mJetTreeBranch = jetTreeBranch; mJetTreeBranch_noEEMC = jetTreeBranch_noEEMC; }
124 void setJetNeutScaleMC(
float x){ par_mcJetNeutScale=x; }
125 void setJetChrgScaleMC(
float x){ par_mcJetChrgScale=x; }
127 void setGainsFile(
char* x) {gains_file=x; use_gains_file=1;}
128 void setNameReweight(
char* x) {nameReweight=x;}
137 StEmcGeom *mBtowGeom, * mBSmdGeom[mxBSmd];
138 int mapBtowIJ2ID[mxBTetaBin*mxBTphiBin];
139 TVector3 positionBtow[mxBtow];
140 TVector3 positionBsmd[mxBSmd][mxBStrips];
144 TVector3 positionEtow[mxEtowSec*mxEtowSub][mxEtowEta];
157 int extendTrack2Barrel();
158 int matchTrack2Cluster();
161 void findPtBalance();
162 void hadronicRecoil();
165 StJet* getJet(
int i){
return (
StJet*)mJets->At(i);}
166 TClonesArray* getJets(TString branchName);
171 float sumTpcCone(
int vertID, TVector3 refAxis,
int flag,
int &nTrCnt);
172 float sumBtowCone(
float zVert, TVector3 refAxis,
int flag,
int &nTow);
173 WeveCluster maxBtow2x2(
int iEta,
int iPhi,
float zVert);
174 WeveCluster sumBtowPatch(
int iEta,
int iPhi,
int Leta,
int Lphi,
float zVert);
175 float sumEtowCone(
float zVert, TVector3 refAxis,
int flag,
int &nTow);
176 void patchToEtaPhi(
int patch,
int*eta,
int*phi);
180 enum {mxHA=350}; TH1 * hA[mxHA];
184 int L2algoEtaPhi2IJ(
float etaF,
float phiF,
int &kEta,
int &kPhi);
189 virtual Int_t Init();
190 virtual Int_t
Make();
192 virtual Int_t InitRun (
int runumber);
193 virtual void Clear(
const Option_t* =
"");
194 virtual Int_t FinishRun(
int runumber);
196 void setTrigID(
int bht3,
int l2w,
int runNo) { par_bht3TrgID=bht3; par_l2wTrgID=l2w; par_inpRunNo=runNo;}
197 void setHList(TObjArray * x){HList=x;}
198 void setMC(
int x){isMC=x;}
199 void setMaxDisplayEve(
int n) { par_maxDisplEve=n;}
203 static const char cvs[]=
"Tag $Name: $ $Id: St2009WMaker.h,v 1.17 2014/08/06 11:43:41 jeromel Exp $ built " __DATE__
" " __TIME__ ;
maker to retrieve info from geant.root files for comparison with reco quantities from MC ...
virtual const char * GetCVS() const
Displayed on session exit, leave it as-is please ...
my own maker to do analysis outside of W selection
muDst based extraction of W-signal from pp500 data from 2009
virtual void Clear(Option_t *option="")
User defined functions.
uses tree from W-algo to find Zs
gathers all results from W-analysis, Jan's analysis