]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/totEt/AliAnalysisEtMonteCarlo.h
bb67918899c3cb00b51fabe24c0ed5ab94b2fed6
[u/mrichter/AliRoot.git] / PWG4 / totEt / AliAnalysisEtMonteCarlo.h
1 #ifndef ALIANALYSISETMONTECARLO_H
2 #define ALIANALYSISETMONTECARLO_H
3 //_________________________________________________________________________
4 //  Utility Class for transverse energy studies
5 //  Base class for MC analysis
6 //  - MC output
7 //
8 //*-- Authors: Oystein Djuvsland (Bergen), David Silvermyr (ORNL)
9 //_________________________________________________________________________
10
11 #include "AliAnalysisEt.h"
12 class TParticle;
13 //class AliMCEvent;
14 //class AliESDEvent;
15
16 class AliAnalysisEtMonteCarlo : public AliAnalysisEt
17 {
18
19 public:
20    
21   AliAnalysisEtMonteCarlo();
22   virtual ~AliAnalysisEtMonteCarlo();
23
24     virtual Int_t AnalyseEvent(AliVEvent* event);
25         virtual Int_t AnalyseEvent(AliVEvent* event, AliVEvent* event2);
26         //virtual Int_t AnalyseEvent(AliMCEvent* event, AliESDEvent* event2);
27
28     virtual void Init();
29     virtual void ResetEventValues();
30     virtual void CreateHistograms();
31     virtual void FillOutputList(TList* list);
32
33 protected:
34
35     virtual bool TrackHitsCalorimeter(TParticle *part, Double_t magField=0.5);
36
37 protected:
38
39     Double_t fImpactParameter; // b(fm), for Hijing; 0 otherwise
40     Int_t fNcoll; // Ncoll, for Hijing; 1 otherwise
41     Int_t fNpart; // Ncoll, for Hijing; 2 otherwise
42
43         TH2F *fHistPrimElectronEtaEET; // electrons that are physical primaries 
44         TH2F *fHistSecElectronEtaEET; // electrons that are NOT physical primaries and DO NOT come from gammas (that are physical primaries) conversion 
45         TH2F *fHistConvElectronEtaEET; // electrons that are NOT physical primaries and come from gammas (that are physical primaries) conversion 
46         TH2F *fHistPrimGammaEtaEET; // gammas (physical primaries) that DO NOT come from pi0, eta or omega0 decays 
47         TH2F *fHistPion0GammaEtaEET; // gammas (physical primaries) that come from pi0 decays 
48         TH2F *fHistEtaGammaEtaEET; // gammas (physical primaries) that come from eta decays 
49         TH2F *fHistOmega0GammaEtaEET; // gammas (physical primaries) that come from omega0 decays 
50         TH2F *fHistSecGammaEtaEET; // gammas that are not physical primaries 
51         
52         TH2F *fHistPrimElectronEtaE; // simple couting of MC input
53         TH2F *fHistSecElectronEtaE;//Histogram of secondary elections
54         TH2F *fHistConvElectronEtaE;//conversion electrons
55         TH2F *fHistPrimGammaEtaE; //primary gammas
56         TH2F *fHistPion0GammaEtaE;//gammas from pions
57         TH2F *fHistEtaGammaEtaE;//gammas from etas
58         TH2F *fHistOmega0GammaEtaE;//gammas from omegas
59         TH2F *fHistSecGammaEtaE; //secondary gammas
60         
61         TH2F *fHistPrimElectronEtaERec; // simple couting of recosntructed MC input
62         TH2F *fHistSecElectronEtaERec;//secondary electrons
63         TH2F *fHistConvElectronEtaERec;//conversion electrons
64         TH2F *fHistPrimGammaEtaERec; //primary gammas
65         TH2F *fHistSecGammaEtaERec; //secondary gammas
66         TH2F *fHistPion0GammaEtaERec;//pion gammas
67         TH2F *fHistEtaGammaEtaERec;//eta gammas
68         TH2F *fHistOmega0GammaEtaERec;//omega gammas
69         
70         TH2F *fHistAllERecEMC;  // compare energy directly from MC and the recosntructed one 
71         TH2F *fHistGammaERecEMC;//gammas        
72         TH2F *fHistElectronERecEMC;     //gammas
73         
74         TH1F *fHistElectronFirstMother; // distribution of PDG code of electron's (physical primary) first mothers 
75         TH1F *fHistElectronLastMother; // distribution of PDG code of electron's (physical primary) last (or second) mothers 
76         TH1F *fHistElectronFirstMotherEtaAcc; // distribution of PDG code of electron's (physical primary and inside acceptance) first mothers 
77         TH1F *fHistElectronFirstMotherNPP; // distribution of PDG code of electron's (NON physical primary) first mothers 
78         TH1F *fHistElectronFirstMotherNPPAcc; // distribution of PDG code of electron's (NON physical primary and inside acceptance) first mothers 
79
80         TH1F *fHistGammaFirstMother; // same as above but for gammas 
81         TH1F *fHistGammaLastMother;//enter comment here
82         TH1F *fHistGammaFirstMotherEtaAcc;//enter comment here
83         TH1F *fHistGammaFirstMotherNPP;//enter comment here
84         TH1F *fHistGammaFirstMotherNPPAcc;//enter comment here
85         
86  private:
87
88     //Declare it private to avoid compilation warning
89     AliAnalysisEtMonteCarlo & operator = (const AliAnalysisEtMonteCarlo & g) ;//cpy assignment
90     AliAnalysisEtMonteCarlo(const AliAnalysisEtMonteCarlo & g) ; // cpy ctor
91     ClassDef(AliAnalysisEtMonteCarlo, 2);
92 };
93
94 #endif // ALIANALYSISETMONTECARLO_H