]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/totEt/AliAnalysisHadEtMonteCarlo.h
adding switches for 2011 data
[u/mrichter/AliRoot.git] / PWGLF / totEt / AliAnalysisHadEtMonteCarlo.h
CommitLineData
cf6522d1 1//_________________________________________________________________________
2// Utility Class for transverse energy studies, charged hadrons
3// Base class for MC analysis
4// - MC output
5//
6//Created by Christine Nattrass, Rebecca Scott, Irakli Martashvili
641e1e0c 7//University of Tennessee at Knoxville
cf6522d1 8//_________________________________________________________________________
641e1e0c 9#ifndef ALIANALYSISHADETMONTECARLO_H
10#define ALIANALYSISHADETMONTECARLO_H
11
12#include "AliAnalysisHadEt.h"
cf6522d1 13class AliVEvent;
4b40b2b1 14class TRandom;
49b25059 15class AliAnalysisHadEtReconstructed;
550c8e21 16class AliMCEvent;
17class AliGenEventHeader;
18class AliStack;
641e1e0c 19
20class AliAnalysisHadEtMonteCarlo : public AliAnalysisHadEt
21{
22
23public:
24
d6214a64 25 AliAnalysisHadEtMonteCarlo();
4b40b2b1 26 virtual ~AliAnalysisHadEtMonteCarlo();
641e1e0c 27
28 virtual Int_t AnalyseEvent(AliVEvent* event);
29 virtual Int_t AnalyseEvent(AliVEvent* event,AliVEvent* event2);
30
31 //void FillHistograms();
32 void CreateHistograms();
33 virtual void Init();
d6214a64 34
464aa50c 35 Float_t GetSimulatedHadronicEt() const {return fSimHadEt;}
36 Float_t GetSimulatedTotalEt() const {return fSimTotEt;}
d6214a64 37
f6acf3ad 38 void FillSimTotEtVsRecoTotEtFullAcceptanceTPC(Float_t et){if(fGoodEvent)FillHisto2D("SimTotEtVsRecoTotEtFullAcceptanceTPC",fSimTotEt,et,1.0);}
39 void FillSimTotEtVsRecoTotEtFullAcceptanceITS(Float_t et){if(fGoodEvent)FillHisto2D("SimTotEtVsRecoTotEtFullAcceptanceITS",fSimTotEt,et,1.0);}
40 void FillSimTotEtVsRecoTotEtEMCALAcceptanceTPC(Float_t et){if(fGoodEvent)FillHisto2D("SimTotEtVsRecoTotEtEMCALAcceptanceTPC",fSimTotEt,et,1.0);}
41 void FillSimTotEtVsRecoTotEtEMCALAcceptanceITS(Float_t et){if(fGoodEvent)FillHisto2D("SimTotEtVsRecoTotEtEMCALAcceptanceITS",fSimTotEt,et,1.0);}
42 void FillSimTotEtVsRecoTotEtPHOSAcceptanceTPC(Float_t et){if(fGoodEvent)FillHisto2D("SimTotEtVsRecoTotEtPHOSAcceptanceTPC",fSimTotEt,et,1.0);}
43 void FillSimTotEtVsRecoTotEtPHOSAcceptanceITS(Float_t et){if(fGoodEvent)FillHisto2D("SimTotEtVsRecoTotEtPHOSAcceptanceITS",fSimTotEt,et,1.0);}
44 void FillSimTotEtVsRecoTotEtFullAcceptanceTPCNoPID(Float_t et){if(fGoodEvent)FillHisto2D("SimTotEtVsRecoTotEtFullAcceptanceTPCNoPID",fSimTotEt,et,1.0);}
45 void FillSimTotEtVsRecoTotEtFullAcceptanceITSNoPID(Float_t et){if(fGoodEvent)FillHisto2D("SimTotEtVsRecoTotEtFullAcceptanceITSNoPID",fSimTotEt,et,1.0);}
46 void FillSimTotEtVsRecoTotEtEMCALAcceptanceTPCNoPID(Float_t et){if(fGoodEvent)FillHisto2D("SimTotEtVsRecoTotEtEMCALAcceptanceTPCNoPID",fSimTotEt,et,1.0);}
47 void FillSimTotEtVsRecoTotEtEMCALAcceptanceITSNoPID(Float_t et){if(fGoodEvent)FillHisto2D("SimTotEtVsRecoTotEtEMCALAcceptanceITSNoPID",fSimTotEt,et,1.0);}
48 void FillSimTotEtVsRecoTotEtPHOSAcceptanceTPCNoPID(Float_t et){if(fGoodEvent)FillHisto2D("SimTotEtVsRecoTotEtPHOSAcceptanceTPCNoPID",fSimTotEt,et,1.0);}
49 void FillSimTotEtVsRecoTotEtPHOSAcceptanceITSNoPID(Float_t et){if(fGoodEvent)FillHisto2D("SimTotEtVsRecoTotEtPHOSAcceptanceITSNoPID",fSimTotEt,et,1.0);}
50 void FillSimHadEtVsRecoHadEtFullAcceptanceTPC(Float_t et){if(fGoodEvent)FillHisto2D("SimHadEtVsRecoHadEtFullAcceptanceTPC",fSimHadEt,et,1.0);}
51 void FillSimHadEtVsRecoHadEtFullAcceptanceITS(Float_t et){if(fGoodEvent)FillHisto2D("SimHadEtVsRecoHadEtFullAcceptanceITS",fSimHadEt,et,1.0);}
52 void FillSimHadEtVsRecoHadEtEMCALAcceptanceTPC(Float_t et){if(fGoodEvent)FillHisto2D("SimHadEtVsRecoHadEtEMCALAcceptanceTPC",fSimHadEt,et,1.0);}
53 void FillSimHadEtVsRecoHadEtEMCALAcceptanceITS(Float_t et){if(fGoodEvent)FillHisto2D("SimHadEtVsRecoHadEtEMCALAcceptanceITS",fSimHadEt,et,1.0);}
54 void FillSimHadEtVsRecoHadEtPHOSAcceptanceTPC(Float_t et){if(fGoodEvent)FillHisto2D("SimHadEtVsRecoHadEtPHOSAcceptanceTPC",fSimHadEt,et,1.0);}
55 void FillSimHadEtVsRecoHadEtPHOSAcceptanceITS(Float_t et){if(fGoodEvent)FillHisto2D("SimHadEtVsRecoHadEtPHOSAcceptanceITS",fSimHadEt,et,1.0);}
56 void FillSimHadEtVsRecoHadEtFullAcceptanceTPCNoPID(Float_t et){if(fGoodEvent)FillHisto2D("SimHadEtVsRecoHadEtFullAcceptanceTPCNoPID",fSimHadEt,et,1.0);}
57 void FillSimHadEtVsRecoHadEtFullAcceptanceITSNoPID(Float_t et){if(fGoodEvent)FillHisto2D("SimHadEtVsRecoHadEtFullAcceptanceITSNoPID",fSimHadEt,et,1.0);}
58 void FillSimHadEtVsRecoHadEtEMCALAcceptanceTPCNoPID(Float_t et){if(fGoodEvent)FillHisto2D("SimHadEtVsRecoHadEtEMCALAcceptanceTPCNoPID",fSimHadEt,et,1.0);}
59 void FillSimHadEtVsRecoHadEtEMCALAcceptanceITSNoPID(Float_t et){if(fGoodEvent)FillHisto2D("SimHadEtVsRecoHadEtEMCALAcceptanceITSNoPID",fSimHadEt,et,1.0);}
60 void FillSimHadEtVsRecoHadEtPHOSAcceptanceTPCNoPID(Float_t et){if(fGoodEvent)FillHisto2D("SimHadEtVsRecoHadEtPHOSAcceptanceTPCNoPID",fSimHadEt,et,1.0);}
61 void FillSimHadEtVsRecoHadEtPHOSAcceptanceITSNoPID(Float_t et){if(fGoodEvent)FillHisto2D("SimHadEtVsRecoHadEtPHOSAcceptanceITSNoPID",fSimHadEt,et,1.0);}
62 //PiKP histograms
63 void FillSimPiKPEtVsRecoPiKPEtFullAcceptanceTPC(Float_t et){if(fGoodEvent)FillHisto2D("SimPiKPEtVsRecoPiKPEtFullAcceptanceTPC",fSimPiKPEt,et,1.0);}
64 void FillSimPiKPEtVsRecoPiKPEtFullAcceptanceITS(Float_t et){if(fGoodEvent)FillHisto2D("SimPiKPEtVsRecoPiKPEtFullAcceptanceITS",fSimPiKPEt,et,1.0);}
65 void FillSimPiKPEtVsRecoPiKPEtFullAcceptanceTPCNoPID(Float_t et){if(fGoodEvent)FillHisto2D("SimPiKPEtVsRecoPiKPEtFullAcceptanceTPCNoPID",fSimPiKPEt,et,1.0);}
66 void FillSimPiKPEtVsRecoPiKPEtFullAcceptanceITSNoPID(Float_t et){if(fGoodEvent)FillHisto2D("SimPiKPEtVsRecoPiKPEtFullAcceptanceITSNoPID",fSimPiKPEt,et,1.0);}
1826590b 67 //Raw histograms
68 void FillSimRawEtVsRecoRawEtFullAcceptanceTPC(Float_t et){if(fGoodEvent)FillHisto2D("SimRawEtVsRecoRawEtFullAcceptanceTPC",fSimRawEtTPC,et,1.0);}
69 void FillSimRawEtVsRecoRawEtFullAcceptanceITS(Float_t et){if(fGoodEvent)FillHisto2D("SimRawEtVsRecoRawEtFullAcceptanceITS",fSimRawEtITS,et,1.0);}
70 void FillSimRawEtVsRecoRawEtFullAcceptanceTPCNoPID(Float_t et){if(fGoodEvent)FillHisto2D("SimRawEtVsRecoRawEtFullAcceptanceTPCNoPID",fSimRawEtTPC,et,1.0);}
71 void FillSimRawEtVsRecoRawEtFullAcceptanceITSNoPID(Float_t et){if(fGoodEvent)FillHisto2D("SimRawEtVsRecoRawEtFullAcceptanceITSNoPID",fSimRawEtITS,et,1.0);}
61e3f555 72
73 void FillSimTotEtMinusRecoTotEtFullAcceptanceTPC(Float_t et){if(fGoodEvent && fSimTotEt>0.0&&et>0.0)FillHisto2D("SimTotEtMinusRecoTotEtFullAcceptanceTPC",et,(fSimTotEt-et)/fSimTotEt,1.0);}
74 void FillSimTotEtMinusRecoTotEtFullAcceptanceITS(Float_t et){if(fGoodEvent && fSimTotEt>0.0&&et>0.0)FillHisto2D("SimTotEtMinusRecoTotEtFullAcceptanceITS",et,(fSimTotEt-et)/fSimTotEt,1.0);}
75 void FillSimTotEtMinusRecoTotEtEMCALAcceptanceTPC(Float_t et){if(fGoodEvent && fSimTotEt>0.0&&et>0.0)FillHisto2D("SimTotEtMinusRecoTotEtEMCALAcceptanceTPC",et,(fSimTotEt-et)/fSimTotEt,1.0);}
76 void FillSimTotEtMinusRecoTotEtEMCALAcceptanceITS(Float_t et){if(fGoodEvent && fSimTotEt>0.0&&et>0.0)FillHisto2D("SimTotEtMinusRecoTotEtEMCALAcceptanceITS",et,(fSimTotEt-et)/fSimTotEt,1.0);}
77 void FillSimTotEtMinusRecoTotEtPHOSAcceptanceTPC(Float_t et){if(fGoodEvent && fSimTotEt>0.0&&et>0.0)FillHisto2D("SimTotEtMinusRecoTotEtPHOSAcceptanceTPC",et,(fSimTotEt-et)/fSimTotEt,1.0);}
78 void FillSimTotEtMinusRecoTotEtPHOSAcceptanceITS(Float_t et){if(fGoodEvent && fSimTotEt>0.0&&et>0.0)FillHisto2D("SimTotEtMinusRecoTotEtPHOSAcceptanceITS",et,(fSimTotEt-et)/fSimTotEt,1.0);}
79 void FillSimTotEtMinusRecoTotEtFullAcceptanceTPCNoPID(Float_t et){if(fGoodEvent && fSimTotEt>0.0&&et>0.0)FillHisto2D("SimTotEtMinusRecoTotEtFullAcceptanceTPCNoPID",et,(fSimTotEt-et)/fSimTotEt,1.0);}
80 void FillSimTotEtMinusRecoTotEtFullAcceptanceITSNoPID(Float_t et){if(fGoodEvent && fSimTotEt>0.0&&et>0.0)FillHisto2D("SimTotEtMinusRecoTotEtFullAcceptanceITSNoPID",et,(fSimTotEt-et)/fSimTotEt,1.0);}
81 void FillSimTotEtMinusRecoTotEtEMCALAcceptanceTPCNoPID(Float_t et){if(fGoodEvent && fSimTotEt>0.0&&et>0.0)FillHisto2D("SimTotEtMinusRecoTotEtEMCALAcceptanceTPCNoPID",et,(fSimTotEt-et)/fSimTotEt,1.0);}
82 void FillSimTotEtMinusRecoTotEtEMCALAcceptanceITSNoPID(Float_t et){if(fGoodEvent && fSimTotEt>0.0&&et>0.0)FillHisto2D("SimTotEtMinusRecoTotEtEMCALAcceptanceITSNoPID",et,(fSimTotEt-et)/fSimTotEt,1.0);}
83 void FillSimTotEtMinusRecoTotEtPHOSAcceptanceTPCNoPID(Float_t et){if(fGoodEvent && fSimTotEt>0.0&&et>0.0)FillHisto2D("SimTotEtMinusRecoTotEtPHOSAcceptanceTPCNoPID",et,(fSimTotEt-et)/fSimTotEt,1.0);}
84 void FillSimTotEtMinusRecoTotEtPHOSAcceptanceITSNoPID(Float_t et){if(fGoodEvent && fSimTotEt>0.0&&et>0.0)FillHisto2D("SimTotEtMinusRecoTotEtPHOSAcceptanceITSNoPID",et,(fSimTotEt-et)/fSimTotEt,1.0);}
85 void FillSimHadEtMinusRecoHadEtFullAcceptanceTPC(Float_t et){if(fGoodEvent && fSimHadEt>0.0&&et>0.0)FillHisto2D("SimHadEtMinusRecoHadEtFullAcceptanceTPC",et,(fSimHadEt-et)/fSimHadEt,1.0);}
86 void FillSimHadEtMinusRecoHadEtFullAcceptanceITS(Float_t et){if(fGoodEvent && fSimHadEt>0.0&&et>0.0)FillHisto2D("SimHadEtMinusRecoHadEtFullAcceptanceITS",et,(fSimHadEt-et)/fSimHadEt,1.0);}
87 void FillSimHadEtMinusRecoHadEtEMCALAcceptanceTPC(Float_t et){if(fGoodEvent && fSimHadEt>0.0&&et>0.0)FillHisto2D("SimHadEtMinusRecoHadEtEMCALAcceptanceTPC",et,(fSimHadEt-et)/fSimHadEt,1.0);}
88 void FillSimHadEtMinusRecoHadEtEMCALAcceptanceITS(Float_t et){if(fGoodEvent && fSimHadEt>0.0&&et>0.0)FillHisto2D("SimHadEtMinusRecoHadEtEMCALAcceptanceITS",et,(fSimHadEt-et)/fSimHadEt,1.0);}
89 void FillSimHadEtMinusRecoHadEtPHOSAcceptanceTPC(Float_t et){if(fGoodEvent && fSimHadEt>0.0&&et>0.0)FillHisto2D("SimHadEtMinusRecoHadEtPHOSAcceptanceTPC",et,(fSimHadEt-et)/fSimHadEt,1.0);}
90 void FillSimHadEtMinusRecoHadEtPHOSAcceptanceITS(Float_t et){if(fGoodEvent && fSimHadEt>0.0&&et>0.0)FillHisto2D("SimHadEtMinusRecoHadEtPHOSAcceptanceITS",et,(fSimHadEt-et)/fSimHadEt,1.0);}
91 void FillSimHadEtMinusRecoHadEtFullAcceptanceTPCNoPID(Float_t et){if(fGoodEvent && fSimHadEt>0.0&&et>0.0)FillHisto2D("SimHadEtMinusRecoHadEtFullAcceptanceTPCNoPID",et,(fSimHadEt-et)/fSimHadEt,1.0);}
92 void FillSimHadEtMinusRecoHadEtFullAcceptanceITSNoPID(Float_t et){if(fGoodEvent && fSimHadEt>0.0&&et>0.0)FillHisto2D("SimHadEtMinusRecoHadEtFullAcceptanceITSNoPID",et,(fSimHadEt-et)/fSimHadEt,1.0);}
93 void FillSimHadEtMinusRecoHadEtEMCALAcceptanceTPCNoPID(Float_t et){if(fGoodEvent && fSimHadEt>0.0&&et>0.0)FillHisto2D("SimHadEtMinusRecoHadEtEMCALAcceptanceTPCNoPID",et,(fSimHadEt-et)/fSimHadEt,1.0);}
94 void FillSimHadEtMinusRecoHadEtEMCALAcceptanceITSNoPID(Float_t et){if(fGoodEvent && fSimHadEt>0.0&&et>0.0)FillHisto2D("SimHadEtMinusRecoHadEtEMCALAcceptanceITSNoPID",et,(fSimHadEt-et)/fSimHadEt,1.0);}
95 void FillSimHadEtMinusRecoHadEtPHOSAcceptanceTPCNoPID(Float_t et){if(fGoodEvent && fSimHadEt>0.0&&et>0.0)FillHisto2D("SimHadEtMinusRecoHadEtPHOSAcceptanceTPCNoPID",et,(fSimHadEt-et)/fSimHadEt,1.0);}
96 void FillSimHadEtMinusRecoHadEtPHOSAcceptanceITSNoPID(Float_t et){if(fGoodEvent && fSimHadEt>0.0&&et>0.0)FillHisto2D("SimHadEtMinusRecoHadEtPHOSAcceptanceITSNoPID",et,(fSimHadEt-et)/fSimHadEt,1.0);}
97
98
99 void FillSimTotEtMinusRawEtFullAcceptanceTPC(Float_t et){if(fGoodEvent && fSimTotEt>0.0&&et>0.0)FillHisto2D("SimTotEtMinusRawEtFullAcceptanceTPC",et,(fSimTotEt-et)/fSimTotEt,1.0);}
100 void FillSimTotEtMinusRawEtFullAcceptanceITS(Float_t et){if(fGoodEvent && fSimTotEt>0.0&&et>0.0)FillHisto2D("SimTotEtMinusRawEtFullAcceptanceITS",et,(fSimTotEt-et)/fSimTotEt,1.0);}
101 void FillSimTotEtMinusRawEtEMCALAcceptanceTPC(Float_t et){if(fGoodEvent && fSimTotEt>0.0&&et>0.0)FillHisto2D("SimTotEtMinusRawEtEMCALAcceptanceTPC",et,(fSimTotEt-et)/fSimTotEt,1.0);}
102 void FillSimTotEtMinusRawEtEMCALAcceptanceITS(Float_t et){if(fGoodEvent && fSimTotEt>0.0&&et>0.0)FillHisto2D("SimTotEtMinusRawEtEMCALAcceptanceITS",et,(fSimTotEt-et)/fSimTotEt,1.0);}
103 void FillSimTotEtMinusRawEtPHOSAcceptanceTPC(Float_t et){if(fGoodEvent && fSimTotEt>0.0&&et>0.0)FillHisto2D("SimTotEtMinusRawEtPHOSAcceptanceTPC",et,(fSimTotEt-et)/fSimTotEt,1.0);}
104 void FillSimTotEtMinusRawEtPHOSAcceptanceITS(Float_t et){if(fGoodEvent && fSimTotEt>0.0&&et>0.0)FillHisto2D("SimTotEtMinusRawEtPHOSAcceptanceITS",et,(fSimTotEt-et)/fSimTotEt,1.0);}
105 void FillSimHadEtMinusRawEtFullAcceptanceTPC(Float_t et){if(fGoodEvent && fSimHadEt>0.0&&et>0.0)FillHisto2D("SimHadEtMinusRawEtFullAcceptanceTPC",et,(fSimHadEt-et)/fSimHadEt,1.0);}
106 void FillSimHadEtMinusRawEtFullAcceptanceITS(Float_t et){if(fGoodEvent && fSimHadEt>0.0&&et>0.0)FillHisto2D("SimHadEtMinusRawEtFullAcceptanceITS",et,(fSimHadEt-et)/fSimHadEt,1.0);}
107 void FillSimHadEtMinusRawEtEMCALAcceptanceTPC(Float_t et){if(fGoodEvent && fSimHadEt>0.0&&et>0.0)FillHisto2D("SimHadEtMinusRawEtEMCALAcceptanceTPC",et,(fSimHadEt-et)/fSimHadEt,1.0);}
108 void FillSimHadEtMinusRawEtEMCALAcceptanceITS(Float_t et){if(fGoodEvent && fSimHadEt>0.0&&et>0.0)FillHisto2D("SimHadEtMinusRawEtEMCALAcceptanceITS",et,(fSimHadEt-et)/fSimHadEt,1.0);}
109 void FillSimHadEtMinusRawEtPHOSAcceptanceTPC(Float_t et){if(fGoodEvent && fSimHadEt>0.0&&et>0.0)FillHisto2D("SimHadEtMinusRawEtPHOSAcceptanceTPC",et,(fSimHadEt-et)/fSimHadEt,1.0);}
110 void FillSimHadEtMinusRawEtPHOSAcceptanceITS(Float_t et){if(fGoodEvent && fSimHadEt>0.0&&et>0.0)FillHisto2D("SimHadEtMinusRawEtPHOSAcceptanceITS",et,(fSimHadEt-et)/fSimHadEt,1.0);}
111
112 void FillSimPiKPMinusRecoPiKPFullAcceptanceTPC(Float_t et){if(fGoodEvent && fSimPiKPEt>0.0)FillHisto2D("SimPiKPMinusRecoPiKPFullAcceptanceTPC",et,(fSimPiKPEt-et)/fSimPiKPEt,1.0);}
113 void FillSimPiKPMinusRecoPiKPFullAcceptanceITS(Float_t et){if(fGoodEvent && fSimPiKPEt>0.0)FillHisto2D("SimPiKPMinusRecoPiKPFullAcceptanceITS",et,(fSimPiKPEt-et)/fSimPiKPEt,1.0);}
114 void FillSimPiKPMinusRecoPiKPFullAcceptanceTPCNoPID(Float_t et){if(fGoodEvent && fSimPiKPEt>0.0)FillHisto2D("SimPiKPMinusRecoPiKPFullAcceptanceTPCNoPID",et,(fSimPiKPEt-et)/fSimPiKPEt,1.0);}
115 void FillSimPiKPMinusRecoPiKPFullAcceptanceITSNoPID(Float_t et){if(fGoodEvent && fSimPiKPEt>0.0)FillHisto2D("SimPiKPMinusRecoPiKPFullAcceptanceITSNoPID",et,(fSimPiKPEt-et)/fSimPiKPEt,1.0);}
4b40b2b1 116
7d2d1773 117 void InvestigateSmearing(Bool_t val){fInvestigateSmearing=val;}
f6acf3ad 118 void RunLightweight(Bool_t val){fRunLightweight=val;}//Switches off O(100) histograms that aren't regularly used.
7d2d1773 119 void InvestigateFull(Bool_t val){fInvestigateFull=val;}
120 void InvestigateEMCAL(Bool_t val){fInvestigateEMCal=val;}
121 void InvestigatePHOS(Bool_t val){fInvestigatePHOS=val;}
122 void InvestigatePiKP(Bool_t val){fInvestigatePiKP=val;}
123 void RequireITSHits(Bool_t val){fRequireITSHits=val;}
f43fc416 124 void EnhanceBaryons(Bool_t val){fBaryonEnhancement=val;}
61e3f555 125 void UseReconstructedPt(Bool_t val){fUseRecoPt=val;}
0f97be4c 126 Bool_t Full() const {return fInvestigateFull;}
127 Bool_t EMCAL() const {return fInvestigateEMCal;}
128 Bool_t PHOS()const {return fInvestigatePHOS;}
129 Bool_t PiKP() const {return fInvestigatePiKP;}
f43fc416 130 Bool_t BaryonEnhancement() const {return fBaryonEnhancement;}
61e3f555 131 Bool_t ReconstructedPt() const {return fUseRecoPt;}
49b25059 132 void SetHadEtReconstructed(AliAnalysisHadEtReconstructed *reco){fHadEtReco = reco;}
d35312c9 133 void DoTriggerChecks(){kDoTriggerChecks=kTRUE;}
134 void DoTriggerChecksOnly(){kDoTriggerChecksOnly=kTRUE;}
135 void SetIsOfflineV0AND(Bool_t val){kIsOfflineV0AND = val;}
ba222433 136 void SetIsOfflineMB(Bool_t val){kIsOfflineMB = val;}
550c8e21 137
138
139 void SetGeneratorMinMaxParticles(AliMCEvent *eventMC);
140 AliGenEventHeader* GetGenEventHeader(AliMCEvent *eventMC) const;
141 Bool_t IsHIJINGLabel(Int_t label,AliMCEvent *eventMC,AliStack *stack);
142 void CheckForHIJINGLabel(){checkLabelForHIJING = kTRUE;}
143
52503ae7 144 protected:
550c8e21 145 Bool_t checkLabelForHIJING;//Boolean - do we need to check this data set for HIJING labels? We don't need to do this unless there were signals embedded
146 Int_t fNMCProducedMin; // In case of cocktail, select particles in the list with label from this value
147 Int_t fNMCProducedMax; // In case of cocktail, select particles in the list with label up to this value
52503ae7 148
641e1e0c 149 private:
3ce6b879 150 //Declare it private to avoid compilation warning
151 AliAnalysisHadEtMonteCarlo & operator = (const AliAnalysisHadEtMonteCarlo & g) ;//cpy assignment
152 AliAnalysisHadEtMonteCarlo(const AliAnalysisHadEtMonteCarlo & g) ; // cpy ctor
cf6522d1 153
0e866ddc 154 Float_t fSimPiKPEt;//simulated Et for pi,k,p event by event
1826590b 155 Float_t fSimRawEtTPC;//simulated Et for pi,k,p event by event
156 Float_t fSimRawEtITS;//simulated Et for pi,k,p event by event
464aa50c 157 Float_t fSimHadEt;//simulated Et event by event
158 Float_t fSimTotEt;//total et event by event
49b25059 159 Float_t fSimPiKPEtShouldBeReco;//simulated Et for pi,k,p event by event
160 Float_t fSimPiKPEtShouldBeRecoPi;//simulated Et for pi event by event
161 Float_t fSimPiKPEtShouldBeRecoK;//simulated Et for k event by event
162 Float_t fSimPiKPEtShouldBeRecoP;//simulated Et for p event by event
d6214a64 163
f6acf3ad 164 Bool_t fRunLightweight;//Turns off O(100) histograms that are not regularly used to reduce the size & complexity of the output
7d2d1773 165 Bool_t fInvestigateSmearing;//Turns on and off functions and histos for investigating momentum, efficiency, pid smearing
166 Bool_t fInvestigateFull;//Turns on and off functions and histos for investigating event-by-event et for the full acceptance
167 Bool_t fInvestigateEMCal;//Turns on and off functions and histos for investigating event-by-event et for the full acceptance
168 Bool_t fInvestigatePHOS;//Turns on and off functions and histos for investigating event-by-event et for the full acceptance
169 Bool_t fInvestigatePiKP;//Turns on and off functions and histos for looking pi/k/p Et event-by-event
0f97be4c 170 Bool_t fRequireITSHits;//Also investigates Et for track cuts with ITS+TPC hits
f43fc416 171 Bool_t fBaryonEnhancement;//Turns on and off baryon enhancement
61e3f555 172 Bool_t fUseRecoPt;//Switch to decide whether to use reconstructed or simulated pT for reconstructed tracks
d35312c9 173 Bool_t kIsOfflineV0AND;//Boolean to keep track of whether or not this matches the offline trigger
ba222433 174 Bool_t kIsOfflineMB;//Boolean to keep track of whether or not this matches the offline trigger
d35312c9 175 Bool_t kDoTriggerChecks;//Boolean to keep track of whether or not I want to let the physics selection do the work
176 Bool_t kDoTriggerChecksOnly;//Boolean to keep track of whether or not I want to let the physics selection do the work
964c8159 177
d6214a64 178 void ResetEventValues();
4b40b2b1 179
180 //Float_t fSimPiKPEtSmeared[4];//simulated Et for pi,k,p smeared for each event by different momentum resolutions
0f97be4c 181 static Float_t fgSmearWidths[4];//array with widths for smearing with different momentum resultions
182 static Int_t fgNumSmearWidths;//number of entries in the array above
550c8e21 183 TRandom *fPtSmearer;//a TRandom used for investigating momentum smearing
184 AliAnalysisHadEtReconstructed *fHadEtReco;//corresponding class for data reconstruction. Used to access corrections directly used here.
4b40b2b1 185
16abb579 186 ClassDef(AliAnalysisHadEtMonteCarlo, 1);
641e1e0c 187};
188
189#endif // ALIANALYSISHADETMONTECARLO_H