AliPhysics  d0bc297 (d0bc297)
AliAnalysisTaskFullppJet.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISTASKFULLPPJET_H
2 #define ALIANALYSISTASKFULLPPJET_H
3 
4 // **************************************
5 // Task used for the analysis of full pp jets
6 // In additional, functions needed for systematic
7 // uncertainties are also included
8 // *******************************************
9 
10 #include <vector>
11 
12 class TFormula;
13 class TH2F;
14 class TH1F;
15 class TF1;
16 class THnSparse;
17 class TRandom3;
18 class TObjArray;
19 class TClonesArray;
20 class TObject;
21 class TString;
22 class TProfile2D;
23 class AliAODEvent;
24 class AliESDEvent;
25 class AliMCEvent;
26 class AliStack;
27 class AliESDtrack;
28 class AliEMCALGeometry;
29 class AliEMCALRecoUtils;
30 class AliESDCaloCluster;
31 class AliFJWrapper;
32 class AliAODJet;
33 class TParticle;
34 
35 #include "AliESDtrackCuts.h"
36 #include "AliAnalysisTaskSE.h"
37 #ifndef __CINT__
38 #include "fastjet/JetDefinition.hh"
39 #include "fastjet/PseudoJet.hh"
40 #else
41 namespace fastjet {
42  class PseudoJet;
43 }
44 #endif
46  public:
48  AliAnalysisTaskFullppJet(const char *name);
49  virtual ~AliAnalysisTaskFullppJet();
50 
51  Bool_t Notify();
52  void UserCreateOutputObjects();
53  void UserExec(Option_t *option);
54  void Terminate(Option_t *);
55  void PrintConfig();
56 
57  enum {kTPCOnlyVtx = 1<<3,
58  kTrigger = 1<<4,
59  kHighZ = 1<<5,
60  kSuspicious = 1<<6,
61  kGluon = 1<<9,
62  kQuark = 1<<10,
63  kLeadCh = 1<<11 };
64 
65  enum { kHybrid=0,
66  kTPCOnly=1,
67  kGlobal=2};
68 
69  void SetAnaType(Int_t ana) { fAnaType=ana; }
70  void SetMCAna(Bool_t mc) { fIsMC=mc; }
71  void SetPhySelForMC(Bool_t phy) { fPhySelForMC=phy; }
72  void SetChargedMC(Bool_t mc) { fChargedMC=mc; }
73  void SetRejectSPDPileup(Bool_t re) { fRejectPileup=re; }
74  void SetRejectExoticTrigger(Bool_t re) { fRejectExoticTrigger=re; }
75  void SetCheckTriggerMask(Bool_t check) { fCheckTriggerMask=check; }
76  void SetRunPeriod(char *p) { fPeriod=p; }
77  void SetOfflineTrigger(Bool_t t) { fOfflineTrigger=t; }
78  void SetXsec(Float_t Xsec) { fXsecScale=Xsec; }
79  void SetConstrainChargedInEMCal(Bool_t con) { fConstrainChInEMCal=con; }
80  void SetRejectNK(Bool_t reject) { fRejectNK=reject; }
81  void SetRejectWD(Bool_t reject) { fRejectWD=reject; }
82  void SetVerbosity(Int_t v) { fVerbosity = v; }
83  void SetTrackCutsType(Int_t type) { fTrackCutsType = type; }
84  void SetEsdTrackCuts(AliESDtrackCuts *cuts) { fEsdTrackCuts=cuts; }
85  void SetHybridTrackCuts1(AliESDtrackCuts *cuts) { fHybridTrackCuts1=cuts; }
86  void SetHybridTrackCuts2(AliESDtrackCuts *cuts) { fHybridTrackCuts2=cuts; }
87  void SetKinCutType(Int_t type) { fKinCutType = type; }
88  void SetZvtx(Double_t zvtx) { fZVtxMax = zvtx; }
89  void SetEtaMax(Double_t eta) { fTrkEtaMax = eta; }
90  void SetdEdxRange(Double_t min, Double_t max) { fdEdxMin=min; fdEdxMax=max; }
91  void SetEoverPRange(Double_t min, Double_t max) { fEoverPMin=min; fEoverPMax=max; }
92  void SetMatchType(Int_t type) { fMatchType=type; }
93  void SetRejectExoticCluster(Bool_t reject) { fRejectExoticCluster=reject; }
94  void SetRemoveProblematicSM4(Bool_t remove) { fRemoveBadChannel=remove; }
95  void SetUseGoodSM(Bool_t good) { fUseGoodSM=good; }
96  void SetStudySubEInHC(Bool_t study) { fStudySubEInHC=study; }
97  void SetStudyMcOverSubE(Bool_t study) { fStudyMcOverSubE=study; }
98  void SetRejectElectron(Bool_t reject) { fElectronRejection=reject; }
99  void SetCorrectHadron(Bool_t correct) { fHadronicCorrection=correct; }
100  void SetHCFraction(Float_t fraction) { fFractionHC=fraction; }
101  void SetHCLowerPtCutMIP(Double_t pt) { fHCLowerPtCutMIP=pt; }
102  void SetNonStdBranch(char* name) { fNonStdBranch=name; }
103  void SetNonStdFile(char* name) { fNonStdBranch=name; }
104  void SetAlgorithm(char *algo) { fAlgorithm=algo; }
105  void SetRadius(char *r) { fRadius=r; }
106  void SetRecombinationScheme(Int_t scheme) { fRecombinationScheme=scheme; }
107  void SetSpotGoodJet(Bool_t spot) { fSpotGoodJet=spot; }
108  void SetFindChargedOnlyJet(Bool_t ch) { fFindChargedOnlyJet=ch; }
109  void SetFindNeutralOnlyJet(Bool_t ne) { fFindNeutralOnlyJet=ne; }
110  void SetCheckTrkEffCorr(Bool_t check) { fCheckTrkEffCorr=check; }
111  void SetTrkEffCorrCutZ(Double_t zcut) { fTrkEffCorrCutZ=zcut; }
112  void SetSmearMC(Double_t smear) { fSmearMC=smear; }
113  void SetRunUE(Bool_t run) { fRunUE=run; }
114  void SetCheckTPCOnlyVtx(Bool_t check) { fCheckTPCOnlyVtx=check; }
115  void SetRunSecondaries(Bool_t run) { fRunSecondaries=run; }
116 
117  //--------------------------------
118  // Kinematic cut
119  //--------------------------------
120  void SetPtRange(Double_t minMB, Double_t maxMB, Double_t minHT, Double_t maxHT)
121  { fTrkPtMin[0]=minMB; fTrkPtMax[0]=maxMB; fTrkPtMin[1]=minHT; fTrkPtMax[1]=maxHT; }
122 
123  void SetEtRange(Double_t minMB, Double_t maxMB, Double_t minHT, Double_t maxHT)
124  { fClsEtMin[0]=minMB; fClsEtMax[0]=maxMB; fClsEtMin[1]=minHT; fClsEtMax[1]=maxHT; }
125 
126  //--------------------------------
127  // Jet quality cut
128  //--------------------------------
130  { fJetNEFMin=min; fJetNEFMax=max; }
131 
132  //---------------------------------
133  // Systematic study
134  //---------------------------------
135  void SetSaveQAHistos(Bool_t save) { fSaveQAHistos=save; }
136  void SetSysJetTrigEff(Bool_t sys) { fSysJetTrigEff=sys; }
137  void SetVaryJetTrigEff(Double_t vary) { fVaryJetTrigEff=vary; }
138  void SetSysTrkPtRes(Bool_t sys) { fSysTrkPtRes=sys; }
139  void SetVaryTrkPtRes(Double_t vary) { fVaryTrkPtRes=vary; }
140  void SetSysTrkEff(Bool_t sys) { fSysTrkEff=sys; }
141  void SetVaryTrkEff(Double_t vary) { fVaryTrkEff=vary; }
142  void SetSysTrkClsMth(Bool_t sys) { fSysTrkClsMth=sys; }
143  void SetSysTrkClsCut(Double_t deta, Double_t dphi){ fCutdEta=deta; fCutdPhi=dphi; }
144  void SetSysNonLinearity(Bool_t sys) { fSysNonLinearity=sys; }
145  void SetSysClusterEScale(Bool_t sys) { fSysClusterEScale=sys; }
146  void SetVaryClusterEScale(Double_t vary) { fVaryClusterEScale=vary; }
147  void SetSysClusterERes(Bool_t sys) { fSysClusterERes=sys; }
148  void SetVaryClusterERes(Double_t vary) { fVaryClusterERes=vary; }
149  void SetSysClusterizer(Bool_t sys) { fSysClusterizer=sys; }
150 
151 
152 protected:
153  AliESDtrack *GetAcceptTrack(AliESDtrack *esdtrack);
154  Int_t RunOfflineTrigger();
155  Double_t GetOfflineTriggerProbability(AliESDCaloCluster *cluster);
156  Int_t GetClusterSuperModule(AliESDCaloCluster *cluster);
157  void ProcessMC(const Int_t r=0);
158  void GetMCInfo();
159  Bool_t IsGoodMcPartilce(const AliVParticle* vParticle, const Int_t ipart);
160  Int_t GetParentParton(const Int_t ipart);
161  Int_t FindSpatialMatchedJet(fastjet::PseudoJet jet, AliFJWrapper *jetFinder, Double_t &dEta, Double_t &dPhi, Double_t maxR);
162  Int_t FindEnergyMatchedJet(AliFJWrapper *jetFinder1, const Int_t index1, AliFJWrapper *jetFinder2, const Double_t fraction=0.5);
163  Bool_t HasPrimaryVertex() const;
164  Bool_t IsPrimaryVertexOk() const;
165  Bool_t IsTPCOnlyVtx() const;
166  Bool_t IsLEDEvent() const;
167  void CheckExoticEvent();
168  void CheckEventTriggerBit();
169  void BookHistos();
170  void GetESDTrax();
171  Bool_t IsElectron(AliESDtrack *track, Double_t clsE) const;
172  void GetESDEMCalClusters();
173  Bool_t IsGoodCluster(AliESDCaloCluster *cluster);
174  Double_t SubtractClusterEnergy(AliESDCaloCluster *cluster, Double_t &eRes, Double_t &MIPE, Double_t &MCsubE);
175  Double_t GetClusterEnergyResolution(AliESDCaloCluster *cluster);
176  void FindDetJets(const Int_t s=0, const Int_t a=0, const Int_t r=0);
177  void FillAODJets(TClonesArray *fJetArray, AliFJWrapper *jetFinder, const Bool_t isTruth = 0);
178  void AnalyzeJets(AliFJWrapper *jetFinder, const Int_t type, const Int_t r);
179  void RunAnalyzeUE(AliFJWrapper *jetFinder, const Int_t type, const Bool_t isMCTruth);
180  void AnalyzeSecondaryContribution(AliFJWrapper *jetFinder, const Int_t r, const Int_t etaCut);
181  void AnalyzeSecondaryContributionViaMatching(AliFJWrapper *jetFinder, const Int_t r, const Int_t type, const Int_t etaCut);
182  void GetSecondaryPtFraction(TParticle *particle, Double_t &chPt, Double_t &reGenPt, Double_t &reRecPt);
183  void CheckTPCOnlyVtx(const UInt_t trigger);
184  Bool_t IsGoodJet(fastjet::PseudoJet jet, Double_t radius);
185  Bool_t IsGoodJet(AliAODJet *jet, Double_t radius);
186  Double_t GetLeadingZ(const Int_t jetIndex, AliFJWrapper *jetFinder);
187  Double_t GetZ(const Double_t trkPx, const Double_t trkPy, const Double_t trkPz, const Double_t jetPx, const Double_t jetPy, const Double_t jetPz) const;
188  Double_t GetMeasuredJetPtResolution(const Int_t jetIndex, AliFJWrapper *jetFinder);
189  Double_t GetTrkEff(Double_t inPt);
190  Double_t GetJetMissPtDueToTrackingEfficiency(const Int_t jetIndex, AliFJWrapper *jetFinder, const Int_t radiusIndex);
191  Double_t GetExoticEnergyFraction(AliESDCaloCluster *cluster);
192  Double_t GetSmearedTrackPt(AliESDtrack *track);
193 
194  enum { kNBins = 20 };
195  enum { kNRadii = 3 };
196 
197  private:
198  Int_t fVerbosity; // Control output
199  Int_t fEDSFileCounter; // Keep track of the ESD file inside a chain
200  Int_t fNTracksPerChunk; // Number of tracks per ESD file; used for debugging
201  Bool_t fRejectPileup; // Flag to reject SPD pileup events
202  Bool_t fRejectExoticTrigger; // Flag to reject events triggered by exotic clusters
203  Int_t fAnaType; // 0-local, 1-grid
204  TString fPeriod; // Data period
207  AliMCEvent *fMC;
208  AliStack *fStack;
212  Bool_t fIsMC; // Flag of MC data
213  Bool_t fPhySelForMC; // Flag to run physics selection in case of MC data
214  Bool_t fChargedMC; // Flag to find only charged MC jets
215  Float_t fXsecScale; // Corss section for each pT hard bin
216  Double_t fCentrality; // V0M for current event
217  Double_t fZVtxMax; // Max vertex z cut
218  Int_t fTriggerType; // 0-MB, 1-EMC
219  Bool_t fCheckTriggerMask; // Flag to check the trigger mask for triggered events
220  Bool_t fIsTPCOnlyVtx; // Flag of events with ONLY TPC vertex
221  Bool_t fIsExoticEvent3GeV; // Flag of events with exotic cluster above 3 GeV
222  Bool_t fIsExoticEvent5GeV; // Flag of events with exotic cluster above 5 GeV
223  Bool_t fIsEventTriggerBit; // Flag of triggered events with valid trigger bit
224  Bool_t fOfflineTrigger; // Run offline trigger
226  TH1D *fTriggerCurve[10];
227  TF1 *fTriggerEfficiency[10];
228  AliEMCALGeometry *fGeom;
230  AliESDtrackCuts *fEsdTrackCuts; // Track cuts for good tracks
231  AliESDtrackCuts *fHybridTrackCuts1; // Track cuts for tracks without SPD hit
232  AliESDtrackCuts *fHybridTrackCuts2; // Track cuts for tracks witout SPD hit or ITS refit
233  Int_t fTrackCutsType; // 0-Global track, 1-TPCOnly track
234  Int_t fKinCutType; // 0-cut on track before jet finding, 1-cut on jet with high-pt tracks
235  Double_t fTrkEtaMax; // Max |eta| cut
236  Double_t fTrkPtMin[2]; // Min pt cut
237  Double_t fTrkPtMax[2]; // Max pt cut
238  Double_t fdEdxMin; // Min dE/dx cut
239  Double_t fdEdxMax; // Max dE/dx cut
240  Double_t fEoverPMin; // Min E/P cut
241  Double_t fEoverPMax; // Max E/P cut
242  Double_t fClsEtMin[2]; // Min et cut
243  Double_t fClsEtMax[2]; // Max et cut
244  Int_t fMatchType; // 0-extrapolation, 1-extrapolation + MC label
245  Bool_t fRejectExoticCluster; // Flag to reject exotic cluster
246  Bool_t fRemoveBadChannel; // Flag to remove problematic region in SM4
247  Bool_t fUseGoodSM; // Flag to not use trigger bit in SM2,3,4,5
248  Bool_t fStudySubEInHC; // If true, the hadronic correction will be ingored. For physics, it should be set to kFALSE
249  Bool_t fStudyMcOverSubE; // Study the over-subtraction of hadronic correction in simualtion.
250  Bool_t fElectronRejection; // Switches on electron correction to avoid double counting of electrons
251  Bool_t fHadronicCorrection; // switches on hadronic correction to avoid double counting of hadrons
252  Float_t fFractionHC; // fraction of hadronic correction
253  Double_t fHCLowerPtCutMIP; // Lower track pt cut for MIP correction
255  Double_t fJetNEFMin; // Min jet NEF cut
256  Double_t fJetNEFMax; // Max jet NEF cut
257  Bool_t fSpotGoodJet; // Good jet catching
258  Bool_t fFindChargedOnlyJet; // Find jets with TPC tracks
259  Bool_t fFindNeutralOnlyJet; // Find jets with EMCal clusters
260  Bool_t fCheckTrkEffCorr; // Check the procedure of tracking efficiency correction
261  Double_t fTrkEffCorrCutZ; // Cut on the tracks that are added back Z < 0.3
262  TF1 *fTrkEffFunc[3];
263  TH1F *fhCorrTrkEffPtBin[2][kNRadii];
264  TH1F *fhCorrTrkEffSample[2][kNRadii][kNBins];
265  TRandom3 *fRandomGen;
266  Bool_t fRunUE; // Run analysis of underlying event
267  Bool_t fCheckTPCOnlyVtx; // Check events with TPC only vertices
268  Bool_t fRunSecondaries; // Run analysise for secondary particles
269  TH2F *fhSecondaryResponse[3];
270 
271  Bool_t fSysJetTrigEff; // Flag of systematic uncertainty of jet trigger efficiency
272  Double_t fVaryJetTrigEff; // Variation of cluster E-scale for systematic uncertainty of jet trigger efficiency
273  Bool_t fSysTrkPtRes; // Flag of systematic uncertainty of tracking momentum resolution
274  Double_t fVaryTrkPtRes; // Variation of tracking momentum resolution
275  Bool_t fSysTrkEff; // Flag of systematic uncertainty of tracking efficiency
276  Double_t fVaryTrkEff; // Variation of tracking efficiency
277  Bool_t fSysTrkClsMth; // Flag of systematic uncertainty of track-cluster matching
278  Double_t fCutdEta; // Variation of dEta cut
279  Double_t fCutdPhi; // Variation of dPhi cut
280  Bool_t fSysNonLinearity; // Flag of systematic uncertainty of EMCal non-linearity
281  TF1 *fNonLinear;
282  Bool_t fSysClusterEScale; // Flag of systematic uncertainty of EMCal energy scale
283  Double_t fVaryClusterEScale; // Variation of EMCal energy scale
284  Bool_t fSysClusterERes; // Flag of systematic uncertainty of EMCal energy resolution
285  Double_t fVaryClusterERes; // Variation of EMCal energy resolution
286  Bool_t fSysClusterizer; // Flag of systematic uncertainty on clusterizer
287 
288  TString fNonStdBranch; // Non-std branch name for AOD jets
289  TString fNonStdFile; // Name of optional file that the non-std branch is written to
290  TString fAlgorithm; // name of algorithm
291  TString fRadius; // Jet cone radius
292  Int_t fRecombinationScheme; // Recombination scheme of jet finding
293  AliFJWrapper *fDetJetFinder[3][2][kNRadii];
294  TClonesArray *fJetTCA[3][2][kNRadii];
295  Bool_t fConstrainChInEMCal; // Constain charged particle to be in EMCal acceptance
296  Bool_t fRejectNK; // Reject neutron and K_L
297  Bool_t fRejectWD; // Reject primaries, mainly k^0_S, that decay weakly
298  Bool_t fSmearMC; // Flag of smearing tracking resolution in MC to match data. Obselete.
300  AliFJWrapper *fTrueJetFinder[kNRadii];
301  TClonesArray *fMcTruthAntikt[kNRadii];
302 
304  Bool_t fSaveQAHistos; // Flag of saving QA histograms
308  TH1F *fhChunkQA;
309  TH1F *fVertexGenZ[2];
310  TH1F *fEventZ[2];
311  TH1F *fhNTrials[2];
312  TH1F *fhNMatchedTrack[2];
313  TH2F *fhSubEVsTrkPt[2][4];
314  TH2F *fhNeutralPtInJet[3][kNRadii];
315  TH2F *fhTrigNeuPtInJet[3][kNRadii];
316  TH2F *fhChargedPtInJet[3][kNRadii];
317  TH2F *fhLeadNePtInJet[3][kNRadii];
318  TH2F *fhLeadChPtInJet[3][kNRadii];
319  TH2F *fhChLeadZVsJetPt[2][kNRadii];
320  TH3F *fhJetPtVsZ[3][kNRadii];
321  TH3F *fRelTrkCon[2][kNRadii];
322  TH2F *fhJetPtWithTrkThres[2][kNRadii];
323  TH2F *fhJetPtWithClsThres[2][kNRadii];
324  TH2F *fhJetPtVsLowPtCons[2][kNRadii][2];
325  THnSparse *fJetEnergyFraction[3][kNRadii];
326  THnSparse *fJetNPartFraction[3][kNRadii];
327  TH1F *fJetCount[3][kNRadii];
328  TH2F *fhSubClsEVsJetPt[2][kNRadii][5];
329  TH2F *fhHCTrkPtClean[2][kNRadii][5];
330  TH2F *fhHCTrkPtAmbig[2][kNRadii][5];
331  TH2F *fHCOverSubE[kNRadii][5];
332  TH2F *fHCOverSubEFrac[kNRadii][5];
333  TH3F *fhFcrossVsZleading[2][kNRadii];
334  TH1F *fhJetPtInExoticEvent[2][kNRadii];
335  TH2F *fhUEJetPtVsSumPt[3][2][2];
336  TH2F *fhUEJetPtVsConsPt[3][2][2];
337  TH1F *fhUEJetPtNorm[3][2][2];
338  TH1F *fhClsE[2];
339  TH3F *fhJetInTPCOnlyVtx[2][kNRadii];
340  TH1F *fhSysClusterE[2][2];
341  TH2F *fhSysNCellVsClsE[2][2];
342 
343  // Secondaries
344  TH2F *fhNKFracVsJetPt[2][kNRadii];
345  TH2F *fhWeakFracVsJetPt[2][kNRadii];
346  TH2F *fhJetResponseNK[2][kNRadii];
347  TH2F *fhJetResponseWP[2][kNRadii];
348  TH2F *fhJetResolutionNK[2][kNRadii];
349  TH2F *fhJetResolutionWP[2][kNRadii];
350  TH2F *fhJetResponseNKSM[2][kNRadii];
351  TH2F *fhJetResponseWPSM[2][kNRadii];
352  TH3F *fhJetResolutionNKSM[2][kNRadii];
353  TH3F *fhJetResolutionWPSM[2][kNRadii];
354 
355  AliAnalysisTaskFullppJet(const AliAnalysisTaskFullppJet&); // not implemented
356  AliAnalysisTaskFullppJet &operator=(const AliAnalysisTaskFullppJet&); // not implemented
357 
358  ClassDef(AliAnalysisTaskFullppJet, 3);
359 };
360 
361 #endif
void SetSysTrkClsCut(Double_t deta, Double_t dphi)
void SetConstrainChargedInEMCal(Bool_t con)
Bool_t fRunUE
Random number generator.
void ana(Int_t mode=mGRID)
Definition: ana.C:162
void SetEoverPRange(Double_t min, Double_t max)
double Double_t
Definition: External.C:58
void SetEtRange(Double_t minMB, Double_t maxMB, Double_t minHT, Double_t maxHT)
Definition: External.C:260
void SetdEdxRange(Double_t min, Double_t max)
Definition: External.C:236
AliESDtrackCuts * fEsdTrackCuts
Reco utility.
TH1F * fhEventStatTPCVtx
Event counts used for jet analysis.
AliAODEvent * fAOD
ESD object.
void SetPtRange(Double_t minMB, Double_t maxMB, Double_t minHT, Double_t maxHT)
void SetVaryClusterEScale(Double_t vary)
Some utilities for cluster and cell treatment.
void SetTrkEffCorrCutZ(Double_t zcut)
void SetRecombinationScheme(Int_t scheme)
void SetHybridTrackCuts1(AliESDtrackCuts *cuts)
void SetEsdTrackCuts(AliESDtrackCuts *cuts)
int Int_t
Definition: External.C:63
Bool_t fIsMC
Array of MC particles.
unsigned int UInt_t
Definition: External.C:33
float Float_t
Definition: External.C:68
TObjArray * fClusterArray
Array of input tracks.
Definition: External.C:212
void SetJetNEFCut(Double_t min, Double_t max)
void SetCheckTriggerMask(Bool_t check)
void SetVaryJetTrigEff(Double_t vary)
void SetCorrectHadron(Bool_t correct)
Double_t fJetNEFMin
Parameterization of cluster energy resolution from test beam results.
TH1F * fhJetEventStat
Event counts to keep track of rejection criteria.
Bool_t fSysJetTrigEff
Response matrix for secondary particles.
AliEMCALGeometry * fGeom
Fit of trigger turn-on curves for EMCal clusters above 4-5 GeV.
TList * fOutputList
TCA of MC truth anti-kt jets.
AliEMCALRecoUtils * fRecoUtil
EMCal goemetry utility.
void SetHybridTrackCuts2(AliESDtrackCuts *cuts)
AliMCEvent * fMC
AOD object.
void SetHCFraction(Float_t fraction)
void SetRemoveProblematicSM4(Bool_t remove)
void SetStudyMcOverSubE(Bool_t study)
TArrayI * fMcPartArray
Array of input clusters.
void SetRejectExoticCluster(Bool_t reject)
TObjArray * fTrackArray
MC stack.
Bool_t fSysClusterEScale
Non-linearity correction functions for data.
char kTrigger[1024]
Definition: ana.C:136
Bool_t fConstrainChInEMCal
TCA of jets: in - akt - r.
TH1F * fhChunkQA
Event counts for TPC only vertices.
const char Option_t
Definition: External.C:48
bool Bool_t
Definition: External.C:53
void SetRejectElectron(Bool_t reject)
void SetVaryClusterERes(Double_t vary)
TRandom3 * fRandomGen
Tracking efficiency estimated from simulation.
Bool_t reject