3 #ifndef STAR_St2011WMaker
4 #define STAR_St2011WMaker
24 #include "Wevent2011.h"
25 #include "WtpcFilter.h"
59 TString mJetTreeBranch,mJetTreeBranch_noEEMC;
61 TTree *mWtree; TString mTreeName; TFile *mTreeFile;
65 int nInpEve,nTrigEve, nAccEve;
71 int par_l0emulAdcThresh;
72 float par_l2emulSeedThresh, par_l2emulClusterThresh;
77 int par_minPileupVert;
79 int par_nFitPts,parE_nFitPts;
80 float par_nHitFrac, par_trackRin, par_trackRout, par_trackPt;
81 float parE_nHitFrac, parE_trackRin, parE_trackRout, parE_trackPt;
83 int par_kSigPed, par_AdcThres;
84 float par_maxADC, par_clustET, parE_clustET;
85 float par_clustFrac24, par_nearTotEtFrac;
86 float parE_clustFrac24,parE_nearTotEtFrac;
87 float par_nearDeltaR, par_awayDeltaPhi;
88 float par_delR3D, parE_delR3D, par_highET, parE_highET, par_ptBalance, parE_ptBalance;
89 float par_awayET, parE_awayET;
90 float par_leptonEtaLow,par_leptonEtaHigh,parE_leptonEtaLow,parE_leptonEtaHigh;
91 float parE_trackEtaMin;
92 int parE_nSmdStrip, parE_esmdGL, parE_esmdWL;
95 float par_QET2PTlow, par_QET2PThigh;
96 float parE_QET2PTlow, parE_QET2PThigh;
104 void setVertexCuts(
float zm,
int npv) {
105 par_vertexZ=zm; par_minPileupVert=npv; }
106 void setEleTrackCuts(
int nfp,
int hfr,
float rin,
float rout,
float mpt) {
107 par_nFitPts=nfp; par_nHitFrac=hfr;
108 par_trackRin=rin; par_trackRout=rout; par_trackPt=mpt;}
109 void setWbosonCuts(
float a,
float fr2,
float bal,
float etaLow,
float etaHigh) {
110 par_highET=a; par_nearTotEtFrac=fr2; par_ptBalance=bal; par_leptonEtaLow=etaLow; par_leptonEtaHigh=etaHigh;}
111 void setE_WbosonCuts(
float a,
float fr2,
float bal,
float etaLow,
float etaHigh) {
112 parE_highET=a; parE_nearTotEtFrac=fr2; parE_ptBalance=bal; parE_leptonEtaLow=etaLow; parE_leptonEtaHigh=etaHigh;}
113 void setEmcCuts(
int ksp ,
float madc,
float clet,
float fr1,
float dr){
114 par_kSigPed=ksp; par_maxADC=madc; par_clustET=clet;
115 par_clustFrac24=fr1;}
116 void setEtowScale(
float x){ par_etowScale=x; }
117 void setBtowScale(
float x){ par_btowScale=x; }
118 void setConeRadius(
float nearCone,
float awayCone) { par_nearDeltaR=nearCone; par_awayDeltaPhi=awayCone; }
119 void setL0AdcThresh(
int x){ par_l0emulAdcThresh=x; }
120 void setL2ClusterThresh(
float x){ par_l2emulClusterThresh=x; }
121 void setL2SeedThresh(
float x){ par_l2emulSeedThresh=x; }
122 void setJetTreeBranch(TString jetTreeBranch, TString jetTreeBranch_noEEMC){ mJetTreeBranch = jetTreeBranch; mJetTreeBranch_noEEMC = jetTreeBranch_noEEMC; }
124 void setTreeName(TString x) { mTreeName=x; }
128 int par_DsmThres,parE_DsmThres;
132 StEmcGeom *mBtowGeom, * mBSmdGeom[mxBSmd];
133 int mapBtowIJ2ID[mxBTetaBin*mxBTphiBin];
134 TVector3 positionBtow[mxBtow];
135 TVector3 positionBsmd[mxBSmd][mxBStrips];
141 TVector3 positionEtow[mxEtowSec*mxEtowSub][mxEtowEta];
143 int accessBarrelTrig();
144 int accessEndcapTrig();
158 void findEndcap_W_boson();
160 int extendTrack2Barrel();
161 int matchTrack2BtowCluster();
162 int extendTrack2Endcap();
163 int matchTrack2EtowCluster();
166 void findPtBalance();
175 float sumTpcCone(
int vertID, TVector3 refAxis,
int flag,
int pointTowId);
176 float sumBtowCone(
float zVert, TVector3 refAxis,
int flag);
177 float sumEtowCone(
float zVert, TVector3 refAxis,
int flag);
178 float sumTpcConeFromTree(
int vertID, TVector3 refAxis,
int flag,
int pointTowId);
179 WeveCluster maxBtow2x2(
int iEta,
int iPhi,
float zVert);
180 WeveCluster sumBtowPatch(
int iEta,
int iPhi,
int Leta,
int Lphi,
float zVert);
181 WeveCluster maxEtow2x1(
int iEta,
int iPhi,
float zVert);
182 WeveCluster maxEtow2x2(
int iEta,
int iPhi,
float zVert);
183 WeveCluster sumEtowPatch(
int iEta,
int iPhi,
int Leta,
int Lphi,
float zVert);
184 void patchToEtaPhi(
int patch,
int*eta,
int*phi);
188 TObjArray *HList; TObjArray *HListTpc;
189 enum {mxHA=400}; TH1 * hA[mxHA];
190 enum {mxHE=300}; TH1 * hE[mxHE];
193 void initHistos();
void initEHistos();
195 int L2algoEtaPhi2IJ(
float etaF,
float phiF,
int &kEta,
int &kPhi);
200 virtual Int_t Init();
201 virtual Int_t
Make();
204 virtual Int_t InitRun (
int runumber);
205 virtual void Clear(
const Option_t* =
"");
206 virtual Int_t FinishRun(
int runumber);
208 void setTrigID(
int l2bw,
int l2ew) { par_l2bwTrgID=l2bw; parE_l2ewTrgID=l2ew; }
210 void setHList(TObjArray * x){HList=x;}
211 void setHListTpc(TObjArray * x){HListTpc=x;}
212 void setMC(
int x){isMC=x;}
213 void setMaxDisplayEve(
int n) { par_maxDisplEve=n;}
217 void chainFile(
const Char_t *name );
218 void chainJetFile(
const Char_t *name );
219 Int_t getNumberOfEvents(){
return mTreeChain->GetEntries(); }
220 Int_t getEvent(Int_t event, Int_t eventJet);
223 Int_t index,indexJet;
225 TChain *mJetTreeChain;
229 static const char cvs[]=
"Tag $Name: $ $Id: St2011WMaker.h,v 1.17 2016/01/08 02:08:49 jlzhang Exp $ built " __DATE__
" " __TIME__ ;
gathers all results from W-analysis, Jan's analysis
virtual void Clear(Option_t *option="")
User defined functions.
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 ...
muDst based extraction of W-signal from pp500 data from 2011
accumulates alternative rel lumi monitors based on jet events
uses tree from W-algo to find Zs