]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/GammaConv/AliConversionSelection.h
set magnetic field if not set
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / AliConversionSelection.h
CommitLineData
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
16class AliConversionSelection : public TObject{
17
18public:
19
1d9e6011 20 AliConversionSelection(AliConversionCuts *convCut=NULL, AliConversionMesonCuts *mesonCut=NULL);
e5b6e8a6 21 AliConversionSelection(TString convCut, TString mesonCut);
1d9e6011 22 AliConversionSelection(const AliConversionSelection&);
23 AliConversionSelection& operator=(const AliConversionSelection&); // not implemented
24
92efd725 25 virtual ~AliConversionSelection();
26
27 // Main Functions
28 Bool_t ProcessEvent(TClonesArray *photons,AliVEvent *inputEvent,AliMCEvent *mcEvent);
29
30 // public getter functions
31
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
38 AliAODConversionMother* GetPi0(Int_t index);
39 AliAODConversionMother* GetBG(Int_t index);
40 AliAODConversionPhoton* GetPhoton(Int_t index);
41
42 TClonesArray *GetPi0Candidates(){return fPi0Candidates;}
43 TClonesArray *GetBGPi0s(){return fBGPi0s;}
44
45 // public Set Functions
46 void SetInvMassRange(Double_t low,Double_t up){fInvMassRange[0]=low;fInvMassRange[1]=up;};
47 void SetInvMassRange(Double_t range[2]){SetInvMassRange(range[0],range[1]);};
48
49 Double_t* GetInvMassRange(){return fInvMassRange;}
50
51 TObjArray *GetGoodGammas(){return fGoodGammas;}
52
53 Int_t GetNumberOfChargedTracks(AliVEvent *inputEvent);
54 Double_t GetSPDMult(AliVEvent *inputEvent);
55 Double_t GetVZEROMult(AliVEvent *inputEvent);
56
57 Int_t GetEventNumber(AliVEvent *inputEvent);
58
e5b6e8a6 59 TString GetCutString();
60
92efd725 61protected:
62
63 void InitializeBGHandler();
64 void CalculatePi0Candidates();
65 void CalculateBackground();
66
67 void RotateParticle(AliAODConversionPhoton *gamma,Int_t nDegreesPMBackground);
68
69 Bool_t MesonInMassWindow(AliAODConversionMother *pi0cand);
70
71 AliVEvent *fInputEvent;
72 AliMCEvent *fMCEvent;
73 AliConversionCuts *fConversionCut;
e5b6e8a6 74 AliConversionMesonCuts *fMesonCut;
92efd725 75 AliESDtrackCuts *fESDTrackCuts;
76 TObjArray *fGoodGammas; // Pointer to selected photons
77 TClonesArray *fPi0Candidates;
78 TClonesArray *fBGPi0s;
79 TRandom3 *fRandomizer; // Randomizer for Rotation
80 AliConversionAODBGHandlerRP *fBGHandler;
1d9e6011 81 Double_t fInvMassRange[2];
92efd725 82 Int_t fCurrentEventNumber; // Current Event Number
e5b6e8a6 83 Bool_t fIsOwner; // Cuts will be deleted when the destructor is called
92efd725 84
1d9e6011 85 ClassDef(AliConversionSelection, 2); // example of analysis
92efd725 86};
87
88#endif
89