added functionality to PWGGA/GammaConv/AliAnalysisTaskNeutralMesonToPiPlPiMiPiZero.cxx
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / AliConversionAODBGHandlerRP.h
CommitLineData
1528f6d1 1#ifndef __ALICONVERSIONAODBGHANDLERRP_H__
2#define __ALICONVERSIONAODBGHANDLERRP_H__
3
4#include "AliLog.h"
5#include "TObject.h"
6#include "AliAODConversionPhoton.h"
7#include "TObjArray.h"
e5b6e8a6 8#include "TList.h"
1528f6d1 9using namespace std;
10
f61c548e 11typedef vector<AliAODConversionPhoton*> AliGammaConversionPhotonVector; // Vector containing photons
12typedef vector<AliGammaConversionPhotonVector> AliGammaConversionBGEventVector; // Event contains vector of gammas (AliConversionPhotons)
13typedef vector<AliGammaConversionBGEventVector> AliGammaConversionMultiplicityVector; // Multiplicity classes containing event vectors
14typedef vector<AliGammaConversionMultiplicityVector> AliGammaConversionBGVector; // z vertex position ...
1528f6d1 15
16
17class AliConversionAODBGHandlerRP: public TObject{
18
f61c548e 19 public:
20
21 AliConversionAODBGHandlerRP(Bool_t IsHeavyIon=kFALSE,Bool_t UseChargedTrackMult=kTRUE,Int_t NEvents=10);
22
23 virtual ~AliConversionAODBGHandlerRP();
24
25 Int_t GetZBinIndex(Double_t z) const;
26 Int_t GetMultiplicityBinIndex(Int_t mult) const;
27 void Initialize();
28 Bool_t FindBins(TObjArray * const eventGammas,AliVEvent *fInputEvent,Int_t &zbin,Int_t &mbin);
29 Bool_t FindBins(TList * const eventGammas,AliVEvent *fInputEvent,Int_t &zbin,Int_t &mbin);
30
31
32 AliGammaConversionPhotonVector* GetBGGoodGammas(TObjArray * const eventGammas,AliVEvent *fInputEvent,Int_t event);
33 AliGammaConversionPhotonVector* GetBGGoodGammas(TList * const eventGammas,AliVEvent *fInputEvent,Int_t event);
34 void AddEvent(TObjArray * const eventGammas,AliVEvent *fInputEvent);
35 void AddEvent(TList * const eventGammas,AliVEvent *fInputEvent);
36 Int_t GetNBGEvents()const {return fNEvents;} // Size of the Pool (20)
37 Int_t GetNBGEvents(TObjArray * const eventGammas,AliVEvent *fInputEvent);
38 Int_t GetNBGEvents(TList * const eventGammas,AliVEvent *fInputEvent);
39 Int_t GetNZBins()const{return fNBinsZ;};
40 Int_t GetNMultiplicityBins()const{return fNBinsMultiplicity;};
41
42 private:
43 Bool_t fIsHeavyIon;
44 Bool_t fUseChargedTrackMult;
45 Int_t fNEvents;
46 Int_t **fBGEventCounter; //! bg counter
47 Int_t **fNBGEvents;
48 Int_t fNBinsZ; //n z bins
49 Int_t fNBinsMultiplicity; //n bins multiplicity
50 Double_t *fBinLimitsArrayZ;//! bin limits z array
51 Double_t *fBinLimitsArrayMultiplicity;//! bin limit multiplicity array
52 AliGammaConversionBGVector fBGPool; //background events
53
54 AliConversionAODBGHandlerRP(AliConversionAODBGHandlerRP &original);
55 AliConversionAODBGHandlerRP &operator=(const AliConversionAODBGHandlerRP &ref);
56
57 ClassDef(AliConversionAODBGHandlerRP,0);
1528f6d1 58
59};
60#endif