AliPhysics  4a7363b (4a7363b)
AliConversionSelection.h
Go to the documentation of this file.
1 #ifndef AliConversionSelection_cxx
2 #define AliConversionSelection_cxx
3 
8 #include "AliConvEventCuts.h"
10 #include "AliConversionMesonCuts.h"
11 #include "TRandom3.h"
12 #include "AliVEvent.h"
13 #include "AliMCEvent.h"
14 #include "TClonesArray.h"
15 #include "AliESDtrackCuts.h"
16 
18 
19 public:
20 
22  AliConversionSelection(TString evtCut, TString convCut, TString mesonCut);
24  AliConversionSelection& operator=(const AliConversionSelection&); // not implemented
25 
26  virtual ~AliConversionSelection();
27 
28  // Main Functions
29  Bool_t ProcessEvent(TClonesArray *photons,AliVEvent *inputEvent,AliMCEvent *mcEvent);
30 
31  // public getter functions
32  Int_t GetNumberOfPi0s(){return fPi0Candidates->GetEntriesFast();}
33  Int_t GetNumberOfBGs(){return fBGPi0s->GetEntriesFast();}
34  Int_t GetNumberOfPhotons(){return fGoodGammas->GetEntriesFast();}
35 
36  Double_t GetMultiplicity(AliVEvent *inputEvent);
37 
41 
42  TClonesArray *GetPi0Candidates(){return fPi0Candidates;}
43  TClonesArray *GetBGPi0s(){return fBGPi0s;}
44 
45  // public Set Functions
47  void SetInvMassRange(Double_t range[2]){SetInvMassRange(range[0],range[1]);};
48 
51 
52  Int_t GetNumberOfChargedTracks(AliVEvent *inputEvent);
53  Double_t GetSPDMult(AliVEvent *inputEvent);
54  Double_t GetVZEROMult(AliVEvent *inputEvent);
55 
56  Int_t GetEventNumber(AliVEvent *inputEvent);
57 
59 
60 protected:
61 
62  void InitializeBGHandler();
64  void CalculateBackground();
65 
66  void RotateParticle(AliAODConversionPhoton *gamma,Int_t nDegreesPMBackground);
67 
69 
70  AliVEvent *fInputEvent; //
71  AliMCEvent *fMCEvent; //
75  AliESDtrackCuts *fESDTrackCuts; //
76  TObjArray *fGoodGammas; // Pointer to selected photons
77  TClonesArray *fPi0Candidates; //
78  TClonesArray *fBGPi0s; //
79  TRandom3 *fRandomizer; // Randomizer for Rotation
82  Int_t fCurrentEventNumber; // Current Event Number
83  Bool_t fIsOwner; // Cuts will be deleted when the destructor is called
84 
85  ClassDef(AliConversionSelection, 3); // example of analysis
86 };
87 
88 #endif
89 
Int_t GetNumberOfChargedTracks(AliVEvent *inputEvent)
AliAODConversionMother * GetPi0(Int_t index)
double Double_t
Definition: External.C:58
AliConversionSelection & operator=(const AliConversionSelection &)
AliAODConversionMother * GetBG(Int_t index)
void SetInvMassRange(Double_t low, Double_t up)
Double_t GetVZEROMult(AliVEvent *inputEvent)
AliConversionPhotonCuts * fConversionCut
int Int_t
Definition: External.C:63
AliConversionAODBGHandlerRP * fBGHandler
Bool_t MesonInMassWindow(AliAODConversionMother *pi0cand)
Double_t GetMultiplicity(AliVEvent *inputEvent)
AliAODConversionPhoton * GetPhoton(Int_t index)
Class handling all kinds of selection cuts for Gamma Conversion analysis.
AliConvEventCuts * fEventCut
void SetInvMassRange(Double_t range[2])
Bool_t ProcessEvent(TClonesArray *photons, AliVEvent *inputEvent, AliMCEvent *mcEvent)
Class handling all kinds of selection cuts for Gamma Conversion analysis.
void RotateParticle(AliAODConversionPhoton *gamma, Int_t nDegreesPMBackground)
AliESDtrackCuts * fESDTrackCuts
Class handling all kinds of selection cuts for Gamma Conversion analysis.
Double_t GetSPDMult(AliVEvent *inputEvent)
TClonesArray * GetPi0Candidates()
bool Bool_t
Definition: External.C:53
AliConversionSelection(AliConvEventCuts *evtCut=NULL, AliConversionPhotonCuts *convCut=NULL, AliConversionMesonCuts *mesonCut=NULL)
Int_t GetEventNumber(AliVEvent *inputEvent)
AliConversionMesonCuts * fMesonCut