28 #ifndef __STESTRUCT2PTCORRELATIONS__H
29 #define __STESTRUCT2PTCORRELATIONS__H
34 #include "StEStructPool/AnalysisMaker/StEStructAnalysis.h"
35 #include "StEStructPool/AnalysisMaker/StEStructQAHists.h"
36 #include "StEStructPool/EventMaker/StEStructCentrality.h"
37 #include "StEStructPairCuts.h"
38 #include "StEStructBinning.h"
39 #include "StEStructBuffer.h"
40 #include "StEStructOneBuffer.h"
51 #define _MAX_ZVBINS_ 30
62 TH1D** mHNEventsPosSib;
63 TH1D** mHNEventsPosMix;
64 TH1D** mHNEventsNegSib;
65 TH1D** mHNEventsNegMix;
103 TH2D *mHPhiAssocPtTot;
145 TH2D ** mHPrEtaEta[8];
146 TH2D ** mHPaEtaEta[8];
147 TH2D ** mHPbEtaEta[8];
148 TH2D ** mHEtaEtaSS[8];
149 TH2D ** mHPrEtaEtaSS[8];
150 TH2D ** mHPaEtaEtaSS[8];
151 TH2D ** mHPbEtaEtaSS[8];
152 TH2D ** mHEtaEtaAS[8];
153 TH2D ** mHPrEtaEtaAS[8];
154 TH2D ** mHPaEtaEtaAS[8];
155 TH2D ** mHPbEtaEtaAS[8];
157 TH2D ** mHNPhiPhi[8];
159 TH2D ** mHPaPhiPhi[8];
160 TH2D ** mHPbPhiPhi[8];
168 TH2D ** mHJtDEtaDPhi[8];
169 TH2D ** mHPrJtDEtaDPhi[8];
170 TH2D ** mHPaJtDEtaDPhi[8];
171 TH2D ** mHPbJtDEtaDPhi[8];
182 TH2D ** mHAtSYtDYt[8];
183 TH2D ** mHAtNSYtDYt[8];
185 TH2D ** mHJtNSEtaDPhi[8];
187 TH2D ** mHPaJtSEtaDPhi[8];
188 TH2D ** mHPbJtSEtaDPhi[8];
207 TH1D ** mHTPCAvgTSep[8];
208 TH1D ** mHTPCAvgZSep[8];
209 TH1D ** mHTPCEntTSep[8];
210 TH1D ** mHTPCEntZSep[8];
211 TH1D ** mHTPCMidTSep[8];
212 TH1D ** mHTPCMidZSep[8];
213 TH1D ** mHTPCExitTSep[8];
214 TH1D ** mHTPCExitZSep[8];
216 TH1D ** mHTPCMidTdptP[8];
217 TH1D ** mHTPCMidTdptN[8];
218 TH1D ** mHTPCMidZdptP[8];
219 TH1D ** mHTPCMidZdptN[8];
221 TH1D ** mHTPCQuality[8];
239 TH2D ** mHTPCAvgTZ[8];
240 TH2D ** mHTPCEntTZ[8];
241 TH2D ** mHTPCMidTZ[8];
242 TH2D ** mHTPCMidTZC[8];
243 TH2D ** mHTPCMidTZNC[8];
244 TH2D ** mHTPCExitTZ[8];
245 TH2D ** mHTPCEntQZ[8];
246 TH2D ** mHTPCMidQZ[8];
247 TH2D ** mHTPCEntQT[8];
248 TH2D ** mHTPCMidQT[8];
249 TH2D ** mHTPCEntQZT[8];
250 TH2D ** mHTPCMidQZT[8];
251 TH2D ** mHTPCEntTdpt[8];
252 TH2D ** mHTPCMidTdpt[8];
253 TH2D ** mHTPCExitTdpt[8];
261 void createHist2D(TH2D*** h,
const char* name,
int iknd,
int icut,
int zcut,
int numCuts,
int nx,
float xmin,
float xmax,
int ny,
float ymin,
float ymax);
262 void createHist1D(TH1D*** h,
const char* name,
int iknd,
int icut,
int zcut,
int numCuts,
int nx,
float xmin,
float xmax);
263 void createHist1D(TH1F*** h,
const char* name,
int iknd,
int icut,
int zcut,
int numCuts,
int nx,
float xmin,
float xmax);
265 void initInternalData();
273 bool mdoPairCutHistograms;
274 bool mdoPairDensityHistograms;
275 bool mskipEtaDeltaWeight;
276 bool mdoInvariantMassHistograms;
278 bool mdoFillSumHistograms;
279 bool mdontFillMeanPt;
292 char* mqaoutFileName;
298 float kZBuffMin, kZBuffMax;
303 int mZBufferCutBinning;
313 int numPairsProcessed[8];
314 int mpossiblePairs[8];
315 int mInterestingPair;
322 void setAnalysisMode(
int mode);
323 void setCutFile(
const char* cutFileName);
326 void setZBufferBinning(
int zBinning);
331 void setOutputFileName(
const char* outFileName);
332 void setQAOutputFileName(
const char* qaoutFileName);
339 virtual void debug_CheckHistograms();
340 virtual void fillHistograms();
341 virtual void writeHistograms();
342 void writeQAHists(TFile * tf);
343 void writeDiagnostics();
347 void initHistograms();
348 void deleteHistograms();
352 bool makeSiblingAndMixedPairs();
355 int getNumPairs(
int i){
return numPairs[i]; };
356 int getNumPairsProcessed(
int i){
return numPairsProcessed[i]; };
357 int getPossiblePairs(
int i){
return mpossiblePairs[i]; };
358 int setInterestingPair(
int interest);
359 int getInterestingPair();
361 void logStats(ostream& os);
366 inline void StEStruct2ptCorrelations::setAnalysisMode(
int mode){ manalysisMode=mode;};
368 inline void StEStruct2ptCorrelations::setCutFile(
const char* cutFileName){
374 inline void StEStruct2ptCorrelations::setOutputFileName(
const char* fName){
380 inline void StEStruct2ptCorrelations::setZBufferBinning(
int zBinning){
381 mZBufferCutBinning = zBinning;
385 mOneZBuffer = oneBuffer;
388 inline void StEStruct2ptCorrelations::setQAHists(
StEStructQAHists* qahists){
396 inline void StEStruct2ptCorrelations::setQAOutputFileName(
const char* fName){
398 mqaoutFileName=
new char[strlen(fName)+1];
399 strcpy(mqaoutFileName,fName);
405 inline int StEStruct2ptCorrelations::setInterestingPair(
int interest) {
406 return mInterestingPair = interest;
408 inline int StEStruct2ptCorrelations::getInterestingPair() {
409 return mInterestingPair;
412 inline void StEStruct2ptCorrelations::logStats(ostream& os){
413 const char* htp[]={
"SibPP",
"SibPM",
"SibMP",
"SibMM",
"MixPP",
"MixPM",
"MixMP",
"MixMM"};
414 for(
int i=0;i<8;i++){
415 os<<
"<pairType>"<<htp[i]<<
" "<<endl;;
416 os<<
" <processStat \"possiblePairs\">"<<getPossiblePairs(i);
417 os<<
"</processStat> "<<endl;;
418 os<<
" <processStat \"inputPairs\">"<<getNumPairs(i);
419 os<<
"</processStat> "<<endl;;
420 os<<
" <processStat \"outputPairs\">"<<getNumPairsProcessed(i);
421 os<<
"</processStat> "<<endl;
422 os<<
"</pairType>"<<endl;
bool mskipPairCuts
simple enumeration of analyses ...
TH2D ** mHJtSEtaDPhi[8]
Npair for eta_delta weight errors.
etaBins ** mPrEtaEta[8]
EtaEta, PhiPhi are controlled by bit 6 of manalysisMode.
char * moutFileName
toggle needed for who writes output
dphiBins ** mPrJtSEtaDPhi[8]
Npair for eta_delta weight errors.
ytBins ** mYtYt[8]
1D hist
etaBins ** mPbEtaEta[8]
weight = pt1
dytBins ** mAtNSYtDYt[8]
smt array of dmt bins
phiBins ** mPrPhiPhi[8]
Npair for eta_delta weight errors.
etaBins ** mPbEtaEtaAS[8]
weight = pt1
StEStructPairCuts * mPairCuts
pointer to EStruct2pt data
etaBins ** mEtaEtaAS[8]
weight = pt2
dphiBins ** mJtSEtaDPhi[8]
Npair for eta_delta weight errors.
etaBins ** mPrEtaEtaSS[8]
EtaEta, PhiPhi are controlled by bit 6 of manalysisMode.
TPCSepBins * mTPCMidZdptP[8]
to evaluate pair crossing cut
TPCSepBins * mTPCMidTdptN[8]
needed to differentiate by sign of deltaPt
bool mHistosWritten
" " ...
etaBins ** mPrEtaEtaAS[8]
EtaEta, PhiPhi are controlled by bit 6 of manalysisMode.
bool mDeleted
found need when overridding this class
TH2D ** mHEtaEta[8]
Npair for eta_delta weight errors.
etaBins ** mPaEtaEtaSS[8]
weight = pt1*pt2
phiBins ** mPhiPhi[8]
weight = pt2
bool mlocalQAHists
for QA histogramming
TH2D ** mHPrJtSEtaDPhi[8]
Npair for eta_delta weight errors.
etaBins ** mEtaEta[8]
Npair for eta_delta weight errors.
etaBins ** mPbEtaEtaSS[8]
weight = pt1
int kNumBuffers
dummy // Previous Event Stored
StEStructEvent * mCurrentEvent
" " ...
StEStructQAHists * mQAHists
for pairs kine + all paircuts
etaBins ** mEtaEtaSS[8]
weight = pt2
TH2D ** mHPrPhiPhi[8]
Npair for eta_delta weight errors.
etaBins ** mPaEtaEta[8]
weight = pt1*pt2
ytBins ** mNYtYt[8]
YtYt are controlled by bit 9 of manalysisMode.
etaBins ** mPaEtaEtaAS[8]
weight = pt1*pt2