10 #ifndef StCentralityAnalyzer_h
11 #define StCentralityAnalyzer_h
17 #include "StPicoEvent/StPicoDstReader.h"
18 #include "StPicoEvent/StPicoEvent.h"
19 #include "StPicoEvent/StPicoTrack.h"
20 #include "StPicoEvent/StPicoBTofPidTraits.h"
21 #include "StPicoEvent/StPicoDst.h"
45 void Clear(Option_t *option=
"");
48 void addTriggerId(
const unsigned int&
id);
49 void setDebugStatus(
bool status) { mDebug = status; }
50 void setUsePileUp(
bool pileup) { mUsePileUp = pileup; }
51 void setUseLumCorr(
bool lumcorr) { mUseLumCorr = lumcorr; }
52 void setUseVzCorr(
bool vzcorr) { mUseVzCorr = vzcorr; }
53 void setRunIdParameters(
unsigned int& bins,
double& lo,
double hi) { mRunIdBins=bins; mRunIdRange[0]=lo; mRunIdRange[1]=hi; }
54 void setVtxZCut(
const float& lo,
const float& hi) { mVtxZ[0]=lo; mVtxZ[1]=hi; }
55 void setVtxRCut(
const float& lo,
const float& hi) { mVtxR[0]=lo; mVtxR[1]=hi; }
56 void setVtxPositionShift(
const float& x,
const float& y) { mVtxXShift=x; mVtxYShift=y; }
57 void setVtxVpdVzCut(
const float& lo,
const float& hi) { mVpdVzDiff[0]=lo; mVpdVzDiff[1]=hi; }
59 void setPileUpParameters(
double a0,
double a1,
double a2,
double a3,
double a4,
60 double b0,
double b1,
double b2,
double b3,
double b4,
61 double c0,
double c1,
double c2,
double c3,
double c4)
62 { m_a0=a0; m_a1=a1; m_a2=a2; m_a3=a3; m_a4=a4;
63 m_b0=b0; m_b1=b1; m_b2=b2; m_b3=b3; m_b4=b4;
64 m_c0=c0; m_c1=c1; m_c2=c2; m_c3=c3; m_c4=c4;}
66 void setLumCorrParameters(
double lumcorr_a,
double lumcorr_b,
double lumcorr_bprime)
67 { m_LumCorr_a = lumcorr_a; m_LumCorr_b = lumcorr_b; m_LumCorr_bprime = lumcorr_bprime; }
69 void setVzCorrParameters(
double vzCorPar0,
double vzCorPar1,
double vzCorPar2,
double vzCorPar3,
double vzCorPar4,
double vzCorPar5,
double vzCorPar6)
71 m_vzCorr0 = vzCorPar0;
72 m_vzCorr1 = vzCorPar1;
73 m_vzCorr2 = vzCorPar2;
74 m_vzCorr3 = vzCorPar3;
75 m_vzCorr4 = vzCorPar4;
76 m_vzCorr5 = vzCorPar5;
77 m_vzCorr6 = vzCorPar6;
81 void setShapeIndex(Int_t index) {mShapeIndex = index;}
83 Double_t getShapeWeight(Double_t Vz, Double_t RefMult);
87 void createHistograms();
88 void createEventHistograms();
89 void createPrimaryTrackHistograms();
90 void createGlobalTrackHistograms();
94 Bool_t isGoodVertex(Float_t x, Float_t y, Float_t z, Float_t vpdVz);
95 Bool_t isGoodTrigger(std::vector<unsigned int> ids);
96 Bool_t isNotPileUp(UShort_t refMult, UShort_t btofMatched);
98 Bool_t isInBadRunList(
unsigned int runId);
101 Double_t calculateLumCorr(Double_t ZDCx);
104 Double_t getRefMultCorrVz(Double_t RefMult, Double_t Vz);
106 const Char_t *mOutFileName;
110 std::vector<unsigned int> mTriggerIdCollection;
112 UInt_t mEventsPassed;
120 Double_t m_a0, m_a1, m_a2, m_a3, m_a4;
121 Double_t m_b0, m_b1, m_b2, m_b3, m_b4;
122 Double_t m_c0, m_c1, m_c2, m_c3, m_c4;
125 Double_t m_LumCorr_a;
126 Double_t m_LumCorr_b;
127 Double_t m_LumCorr_bprime;
133 Double_t mTree_refMult;
134 Double_t mTree_refMultCor;
135 Double_t mTree_nBTOFMatched;
139 Double_t m_vzCorr0, m_vzCorr1, m_vzCorr2, m_vzCorr3, m_vzCorr4, m_vzCorr5, m_vzCorr6;
144 static const std::vector<unsigned int> bad_run_list_ruru_200gev;
146 static const std::vector<unsigned int> bad_run_list_zrzr_200gev;
151 Float_t mVtxXShift, mVtxYShift;
152 Float_t mVpdVzDiff[2];
155 Double_t mRunIdRange[2];
161 Float_t mNHitsRatio[2];
167 TH1F* hRefMultVtxZ[73];
174 TH1F* hZdcCoincidenceRate;
179 TH1F* hPrimVertVpdVzDiff;
180 TH2F* hRefMultVsTofTrayMult;
181 TH2F* hRefMultVsTofMatched;
182 TH2F* hGRefMultVsTofTrayMult;
183 TH2F* hGRefMultVsTofMatched;
184 TH2F* hRefMultVsTofMatch;
185 TH2F* hRefMultVsBemcMatch;
186 TH2F* hRefMultVsZdcCoincidenceRate;
187 TProfile* hRefMultVsRunNumber;
188 TProfile* hGRefMultVsRunNumber;
189 TProfile* hTofTrayMultVsRunNumber;
190 TProfile* hTofMatchedVsRunNumber;
191 TProfile* hZdcAdcSumVsRunNumber;
192 TProfile* hZdcCoincidenceRateVsRunNumber;
193 TProfile* hPrimTrackPtVsRunNumber;
194 TProfile* hPrimTrackNHitsVsRunNumber;
195 TProfile* hPrimTrackDedxVsRunNumber;
196 TProfile* hGlobTrackPtVsRunNumber;
197 TProfile* hGlobTrackNHitsVsRunNumber;
198 TProfile* hGlobTrackDedxVsRunNumber;
199 TProfile* hAvgRefMultVsZdcCoincidenceRate;
200 TProfile* hAvgRefMultVsZdcCoincidenceRateForTrig[4];
205 #endif // StCentralityAnalyzer_h
Allows to read picoDst file(s)
void Clear(Option_t *option="")
User defined functions.
Holds information about track parameters.
Process and build distributions for centrality determination.
Main class that keeps TClonesArrays with main classes.
Stores global information about the event.