]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/GammaConv/AliAnalysisTaskEtaToPiPlPiMiGamma.h
TENDER becomes Tender, removing .so
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / AliAnalysisTaskEtaToPiPlPiMiGamma.h
1 #ifndef ALIANALYSISTASKETATOPIPLPIMIGAMMA_H
2 #define ALIANALYSISTASKETATOPIPLPIMIGAMMA_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7
8 #include "AliAnalysisTaskSE.h"
9 #include "AliV0ReaderV1.h"
10 #include "AliKFConversionPhoton.h"
11 #include "AliPrimaryPionSelector.h"
12 #include "AliConversionMesonCuts.h"
13 #include "AliConvEventCuts.h"
14 #include "AliGammaConversionAODBGHandler.h"
15 #include "TProfile2D.h"
16
17 class AliESDInputHandler;
18 class AliMCEventHandler;
19 class AliESDEvent;
20 class AliESDtrack;
21 class AliESDtrackCuts;
22 class AliESDpidCuts;
23 class AliV0Reader;
24 class AliTriggerAnalysis;
25
26 class AliAnalysisTaskEtaToPiPlPiMiGamma: public AliAnalysisTaskSE
27 {
28         public:
29
30                 AliAnalysisTaskEtaToPiPlPiMiGamma();
31                 AliAnalysisTaskEtaToPiPlPiMiGamma( const char* name );
32                 virtual ~AliAnalysisTaskEtaToPiPlPiMiGamma();
33
34                 virtual void UserExec(Option_t *);
35                 virtual void UserCreateOutputObjects();
36                 virtual Bool_t Notify();
37                 virtual void Terminate(const Option_t *);
38
39                         
40                 void SetMoveParticleAccordingToVertex(Bool_t flag){fMoveParticleAccordingToVertex = flag;}
41                         
42                 void SetIsHeavyIon(Int_t flag){
43                         if (flag == 1 || flag ==2 ){
44                                 fIsHeavyIon = 1;    
45                         } else {
46                                 fIsHeavyIon = 0;    
47                         }
48                 }
49                 
50                 void SetIsMC(Bool_t isMC){fIsMC=isMC;}
51                 void SetConversionCutList(Int_t nCuts, TList *CutArray){
52                         fnCuts= nCuts;
53                         fGammaCutArray = CutArray;
54                 }
55                 void SetEventCutList(Int_t nCuts, TList *CutArray){
56                         fnCuts= nCuts;
57                         fEventCutArray = CutArray;
58                 }
59
60                 void SetPionCutList(TList *CutArray){
61                         fPionCutArray = CutArray;
62                 }
63                 void SetMesonCutList(TList *CutArray){
64                         fMesonCutArray = CutArray;
65                 }
66                 void SetDoMesonQA(Bool_t flag){ fDoMesonQA = flag; }
67         
68
69         private:
70
71                 void InitBack();
72                 void ProcessPhotonCandidates();
73                 void ProcessTruePhotonCandidates(AliAODConversionPhoton*);
74                 void ProcessTrueMesonCandidates(AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate, AliAODConversionPhoton *TrueVirtualGammaCandidate);
75                 void MoveParticleAccordingToVertex(AliAODConversionPhoton* particle,const AliGammaConversionAODBGHandler::GammaConversionVertex *vertex);
76         void ProcessPionCandidates();
77                 void ProcessMCParticles();
78                 void CalculateMesonCandidates();
79         void CalculateBackground();
80                 void UpdateEventByEventData();
81         
82                 Bool_t IsPiPlPiMiGammaDecay(TParticle *fMCMother) const;
83                 Bool_t IsEtaPiPlPiMiGammaDaughter( Int_t label ) const;
84                 
85                 
86
87                 AliV0ReaderV1                                   *fV0Reader;                                                                     //
88                 AliPrimaryPionSelector                  *fPionSelector;                                                         //
89                 AliGammaConversionAODBGHandler  **fBGHandler;                                                           //
90                 AliESDEvent                                     *fESDEvent;                                                                     //
91                 AliMCEvent                                              *fMCEvent;                                                                      //
92                 AliStack                                                *fMCStack;                                                                      //
93                 TList                                                   **fCutFolder;                                                           //
94                 TList                                                   **fESDList;                                                                     //
95                 TList                                                   **fBackList;                                                            //
96                 TList                                                   **fMotherList;                                                          //
97                 TList                                                   **fTrueList;                                                            //
98                 TList                                                   **fMCList;                                                                      //
99                 TList                                                   *fOutputContainer;                                                      //
100                 TClonesArray                                    *fReaderGammas;                                                         //
101                 vector<Int_t>                                   fSelectorNegPionIndex;                                          //
102                 vector<Int_t>                                   fSelectorPosPionIndex;                                          //
103                 TList                                                   *fGoodGammas;                                                           //
104                 TList                                                   *fGoodVirtualParticles;                                         //
105                 TList                                                   *fEventCutArray;                                                        //
106                 TList                                                   *fGammaCutArray;                                                        //
107                 TList                                                   *fPionCutArray;                                                         //
108                 TList                                                   *fMesonCutArray;                                                        //
109                 AliConvEventCuts                                *fEventCuts;                                                            //
110                 AliConversionPhotonCuts                 *fConversionCuts;                                                       //
111                 
112                 // reconstructed particles
113                 TH1F                                                    **fHistoConvGammaPt;                                            //
114                 TH1F                                                    **fHistoConvGammaEta;                                           //
115                 TH1F                                                    **fHistoNegPionPt;                                                      //
116                 TH1F                                                    **fHistoPosPionPt;                                                      //
117                 TH1F                                                    **fHistoNegPionPhi;                                                     //
118                 TH1F                                                    **fHistoPosPionPhi;                                                     //
119                 TH1F                                                    **fHistoNegPionEta;                                                     //
120                 TH1F                                                    **fHistoPosPionEta;                                                     //
121                 TH2F                                                    **fHistoNegPionClsTPC;                                          //
122                 TH2F                                                    **fHistoPosPionClsTPC;                                          //
123                 TH2F                                                    **fHistoPionDCAxy;                                                      //
124                 TH2F                                                    **fHistoPionDCAz;                                                       //
125                 TH2F                                                    **fHistoPionTPCdEdxNSigma;                                      //
126                 TH2F                                                    **fHistoPionTPCdEdx;                                            //
127                 TH2F                                                    **fHistoPionPionInvMassPt;                                      //
128                 TH2F                                                    **fHistoMotherInvMassPt;                                        //
129                 THnSparseF                                              **fTHnSparseMotherInvMassPtZM;                          //
130                 TH2F                                                    **fHistoMotherBackInvMassPt;                            //
131                 THnSparseF                                              **fTHnSparseMotherBackInvMassPtZM;                      //
132                 
133                 // pure MC properties
134                 TH1F                                                    **fHistoMCAllGammaPt;                                           //
135                 TH1F                                                    **fHistoMCConvGammaPt;                                          //
136                 TH1F                                                    **fHistoMCAllPosPionsPt;                                        //
137                 TH1F                                                    **fHistoMCAllNegPionsPt;                                        //
138                 TH1F                                                    **fHistoMCGammaFromEtaPt;                                       //
139                 TH1F                                                    **fHistoMCPosPionsFromEtaPt;                            //
140                 TH1F                                                    **fHistoMCNegPionsFromEtaPt;                            //
141                 TH1F                                                    **fHistoMCEtaPiPlPiMiGammaPt;                           //
142                 TH1F                                                    **fHistoMCEtaGGPt;                                                      //
143                 TH1F                                                    **fHistoMCEtaDalitzPt;                                          //
144                 TH1F                                                    **fHistoMCEtaPiPlPiMiGammaInAccPt;                      //
145
146                 // reconstructed particles MC validated
147                 TH2F                                                    **fHistoTrueMotherPiPlPiMiGammaInvMassPt;       //
148                 TH2F                                                    **fHistoTrueMotherGammaGammaInvMassPt;          //
149                 TH2F                                                    **fHistoTrueMotherDalitzInvMassPt;                      //
150                 TH1F                                                    **fHistoTrueConvGammaPt;                                        //
151                 TH1F                                                    **fHistoTrueConvGammaFromEtaPt;                         //
152                 TH1F                                                    **fHistoTruePosPionPt;                                          //
153                 TH1F                                                    **fHistoTruePosPionFromEtaPt;                           //
154                 TH1F                                                    **fHistoTrueNegPionPt;                                          //
155                 TH1F                                                    **fHistoTrueNegPionFromEtaPt;                           //
156                 TH2F                                                    **fHistoTruePionPionInvMassPt;                          //
157                 TH2F                                                    **fHistoTruePionPionFromEtaInvMassPt;           //
158                 // Event properties
159                 TH1I                                                    **fHistoNEvents;                                                        //
160                 TH1I                                                    **fHistoNGoodESDTracks;                                         //
161                 TProfile                                                **fProfileEtaShift;                                                     //
162                         
163                 TRandom3                                                fRandom;
164                 Int_t                                                   fnCuts;
165                 Int_t                                                   fiCut;
166                 Int_t                                                   fNumberOfESDTracks;
167                 Bool_t                                                  fMoveParticleAccordingToVertex;
168                 Bool_t                                                  fIsHeavyIon;
169                 Bool_t                                                  fDoMesonAnalysis;
170                 Bool_t                                                  fDoMesonQA;
171                 Bool_t                                                  fIsFromMBHeader;
172                 Bool_t                                                  fIsMC;
173                 Bool_t                                                  fIsGammaEtaCand;
174         private:
175                 AliAnalysisTaskEtaToPiPlPiMiGamma( const AliAnalysisTaskEtaToPiPlPiMiGamma& ); // Not implemented
176                 AliAnalysisTaskEtaToPiPlPiMiGamma& operator=( const AliAnalysisTaskEtaToPiPlPiMiGamma& ); // Not implemented
177
178                 ClassDef( AliAnalysisTaskEtaToPiPlPiMiGamma, 2 );
179 };
180
181 #endif // ALIANALYSISTASKETATOPIPLPIMIGAMMA_H
182