]>
Commit | Line | Data |
---|---|---|
92efd725 | 1 | #ifndef AliConversionSelection_cxx |
2 | #define AliConversionSelection_cxx | |
3 | ||
4 | #include "AliAODConversionMother.h" | |
5 | #include "AliConversionPhotonBase.h" | |
6 | #include "AliAODConversionPhoton.h" | |
7 | #include "AliConversionAODBGHandlerRP.h" | |
8 | #include "AliConversionCuts.h" | |
ca91a3e1 | 9 | #include "AliConversionMesonCuts.h" |
92efd725 | 10 | #include "TRandom3.h" |
11 | #include "AliVEvent.h" | |
12 | #include "AliMCEvent.h" | |
13 | #include "TClonesArray.h" | |
14 | #include "AliESDtrackCuts.h" | |
15 | ||
16 | class AliConversionSelection : public TObject{ | |
17 | ||
18 | public: | |
19 | ||
ca91a3e1 | 20 | AliConversionSelection(AliConversionCuts *convCut, AliConversionMesonCuts *mesonCut); |
92efd725 | 21 | virtual ~AliConversionSelection(); |
22 | ||
23 | // Main Functions | |
24 | Bool_t ProcessEvent(TClonesArray *photons,AliVEvent *inputEvent,AliMCEvent *mcEvent); | |
25 | ||
26 | // public getter functions | |
27 | ||
28 | Int_t GetNumberOfPi0s(){return fPi0Candidates->GetEntriesFast();} | |
29 | Int_t GetNumberOfBGs(){return fBGPi0s->GetEntriesFast();} | |
30 | Int_t GetNumberOfPhotons(){return fGoodGammas->GetEntriesFast();} | |
31 | ||
32 | Double_t GetMultiplicity(AliVEvent *inputEvent); | |
33 | ||
34 | AliAODConversionMother* GetPi0(Int_t index); | |
35 | AliAODConversionMother* GetBG(Int_t index); | |
36 | AliAODConversionPhoton* GetPhoton(Int_t index); | |
37 | ||
38 | TClonesArray *GetPi0Candidates(){return fPi0Candidates;} | |
39 | TClonesArray *GetBGPi0s(){return fBGPi0s;} | |
40 | ||
41 | // public Set Functions | |
42 | void SetInvMassRange(Double_t low,Double_t up){fInvMassRange[0]=low;fInvMassRange[1]=up;}; | |
43 | void SetInvMassRange(Double_t range[2]){SetInvMassRange(range[0],range[1]);}; | |
44 | ||
45 | Double_t* GetInvMassRange(){return fInvMassRange;} | |
46 | ||
47 | TObjArray *GetGoodGammas(){return fGoodGammas;} | |
48 | ||
49 | Int_t GetNumberOfChargedTracks(AliVEvent *inputEvent); | |
50 | Double_t GetSPDMult(AliVEvent *inputEvent); | |
51 | Double_t GetVZEROMult(AliVEvent *inputEvent); | |
52 | ||
53 | Int_t GetEventNumber(AliVEvent *inputEvent); | |
54 | ||
55 | protected: | |
56 | ||
57 | void InitializeBGHandler(); | |
58 | void CalculatePi0Candidates(); | |
59 | void CalculateBackground(); | |
60 | ||
61 | void RotateParticle(AliAODConversionPhoton *gamma,Int_t nDegreesPMBackground); | |
62 | ||
63 | Bool_t MesonInMassWindow(AliAODConversionMother *pi0cand); | |
64 | ||
65 | AliVEvent *fInputEvent; | |
66 | AliMCEvent *fMCEvent; | |
67 | AliConversionCuts *fConversionCut; | |
ca91a3e1 | 68 | AliConversionMesonCuts *fMesonCut; |
92efd725 | 69 | AliESDtrackCuts *fESDTrackCuts; |
70 | TObjArray *fGoodGammas; // Pointer to selected photons | |
71 | TClonesArray *fPi0Candidates; | |
72 | TClonesArray *fBGPi0s; | |
73 | TRandom3 *fRandomizer; // Randomizer for Rotation | |
74 | AliConversionAODBGHandlerRP *fBGHandler; | |
75 | Double_t *fInvMassRange; | |
76 | Double_t *fUnsmearedPx; | |
77 | Double_t *fUnsmearedPy; | |
78 | Double_t *fUnsmearedPz; | |
79 | Double_t *fUnsmearedE; | |
80 | Int_t fCurrentEventNumber; // Current Event Number | |
81 | ||
82 | AliConversionSelection(const AliConversionSelection&); // not implemented | |
83 | AliConversionSelection& operator=(const AliConversionSelection&); // not implemented | |
84 | ||
85 | ClassDef(AliConversionSelection, 1); // example of analysis | |
86 | }; | |
87 | ||
88 | #endif | |
89 |