]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/GammaConv/AliConversionSelection.h
#100350: Pileup rejection on 2013 pA data (Zaida)
[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
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
55protected:
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