AliPhysics  master (3d17d9d)
AliGammaConversionAODBGHandler.h
Go to the documentation of this file.
1 //-*- Mode: C++ -*-
2 #ifndef ALIGAMMACONVERSIONAODBGHANDLER_H
3 #define ALIGAMMACONVERSIONAODBGHANDLER_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice */
6 
8 //---------------------------------------------
9 // Class for handling of background calculation
10 //---------------------------------------------
12 
13 #include <vector>
14 
15 
16 // --- ROOT system ---
17 #include <TObject.h>
18 #include "AliKFParticle.h"
19 #include "AliAODConversionPhoton.h"
20 #include "AliAODConversionMother.h"
21 #include "TClonesArray.h"
22 #include "AliESDVertex.h"
23 #include "AliAODMCParticle.h"
24 
25 typedef std::vector<AliAODConversionPhoton*> AliGammaConversionAODVector;
26 typedef std::vector<AliAODConversionMother*> AliGammaConversionMotherAODVector;
27 typedef std::vector<AliAODMCParticle*> AliAODMCParticleVector;
28 
30 
31  public:
37  };
38 
40 
41  typedef std::vector<AliGammaConversionAODVector> AliGammaConversionBGEventVector;
42  typedef std::vector<AliGammaConversionBGEventVector> AliGammaConversionMultipicityVector;
43  typedef std::vector<AliGammaConversionMultipicityVector> AliGammaConversionBGVector;
44 
45  typedef std::vector<AliGammaConversionMotherAODVector> AliGammaConversionMotherBGEventVector;
46  typedef std::vector<AliGammaConversionMotherBGEventVector> AliGammaConversionMotherMultipicityVector;
47  typedef std::vector<AliGammaConversionMotherMultipicityVector> AliGammaConversionMotherBGVector;
48 
49  typedef std::vector<AliAODMCParticleVector> AliGammaMCParticleBGEventVector;
50  typedef std::vector<AliGammaMCParticleBGEventVector> AliGammaMCParticleMultipicityVector;
51  typedef std::vector<AliGammaMCParticleMultipicityVector> AliAODMCParticleBGVector;
52 
53 
54  AliGammaConversionAODBGHandler(); //constructor
55  AliGammaConversionAODBGHandler(Int_t binsZ,Int_t binsMultiplicity,Int_t nEvents); // constructor
56  AliGammaConversionAODBGHandler(Int_t collisionSystem,Int_t centMin,Int_t centMax,Int_t nEvents, Bool_t useTrackMult, Int_t mode,Int_t binsZ, Int_t binsMultiplicity);
59  virtual ~AliGammaConversionAODBGHandler(); //virtual destructor
60 
61  void Initialize(Double_t * const zBinLimitsArray, Double_t * const multiplicityBinLimitsArray);
62 
63  Int_t GetZBinIndex(Double_t z) const;
64 
66 
67  Int_t GetNBackgroundEventsInBuffer(Int_t binz, int binMult) const;
68 
69  void AddEvent(TList* const eventGammas, Double_t xvalue,Double_t yvalue,Double_t zvalue, Int_t multiplicity, Double_t epvalue = -100);
70  void AddMesonEvent(TList* const eventMothers, Double_t xvalue,Double_t yvalue,Double_t zvalue, Int_t multiplicity, Double_t epvalue = -100);
71  void AddMesonEvent(const std::vector<AliAODConversionMother> &eventMother, Double_t xvalue, Double_t yvalue, Double_t zvalue, Int_t multiplicity, Double_t epvalue = -100);
72  void AddElectronEvent(TClonesArray* const eventENeg, Double_t zvalue, Int_t multiplicity);
73  void AddMCParticleEvent(TList* const eventGammas, Double_t xvalue,Double_t yvalue,Double_t zvalue, Int_t multiplicity, Double_t epvalue = -100);
74 
75  Int_t GetNBGEvents()const {return fNEvents;}
76 
77  // Get BG photons
80 
81  // Get BG mesons
83 
84  // Get BG electron
85  AliGammaConversionAODVector* GetBGGoodENeg(Int_t event, Double_t zvalue, Int_t multiplicity);
86 
87  void PrintBGArray();
88 
89  GammaConversionVertex * GetBGEventVertex(Int_t zbin, Int_t mbin, Int_t event){return &fBGEventVertex[zbin][mbin][event];}
90 
92 
93  private:
94 
95  Int_t fNEvents; // number of events
103  Int_t fNBinsZ; //n z bins
104  Int_t fNBinsMultiplicity; //n bins multiplicity
107  AliGammaConversionBGVector fBGEvents; // photon background events
108  AliGammaConversionBGVector fBGEventsENeg; // electron background electron events
109  AliGammaConversionMotherBGVector fBGEventsMeson; // neutral meson background events
110  AliAODMCParticleBGVector fBGEventsMCParticle; // MC Particle background events
111 
113 };
114 #endif
double Double_t
Definition: External.C:58
GammaConversionVertex * GetBGEventVertex(Int_t zbin, Int_t mbin, Int_t event)
std::vector< AliGammaConversionBGEventVector > AliGammaConversionMultipicityVector
std::vector< AliGammaConversionMotherMultipicityVector > AliGammaConversionMotherBGVector
Int_t GetNBackgroundEventsInBuffer(Int_t binz, int binMult) const
GammaConversionVertex *** fBGEventVertex
prob per bin
void AddMesonEvent(TList *const eventMothers, Double_t xvalue, Double_t yvalue, Double_t zvalue, Int_t multiplicity, Double_t epvalue=-100)
AliGammaConversionAODVector * GetBGGoodENeg(Int_t event, Double_t zvalue, Int_t multiplicity)
AliGammaConversionBGVector fBGEvents
bin limit multiplicity array
std::vector< AliGammaConversionMotherBGEventVector > AliGammaConversionMotherMultipicityVector
AliGammaConversionAODBGHandler & operator=(const AliGammaConversionAODBGHandler &g)
std::vector< AliAODConversionPhoton * > AliGammaConversionAODVector
int Int_t
Definition: External.C:63
void AddEvent(TList *const eventGammas, Double_t xvalue, Double_t yvalue, Double_t zvalue, Int_t multiplicity, Double_t epvalue=-100)
std::vector< AliAODConversionMother * > AliGammaConversionMotherAODVector
void AddElectronEvent(TClonesArray *const eventENeg, Double_t zvalue, Int_t multiplicity)
AliAODMCParticleVector * GetBGGoodV0sMC(Int_t zbin, Int_t mbin, Int_t event)
void Initialize(Double_t *const zBinLimitsArray, Double_t *const multiplicityBinLimitsArray)
std::vector< AliGammaConversionMotherAODVector > AliGammaConversionMotherBGEventVector
std::vector< AliAODMCParticle * > AliAODMCParticleVector
Double_t nEvents
plot quality messages
Int_t mode
Definition: anaM.C:41
std::vector< AliGammaMCParticleBGEventVector > AliGammaMCParticleMultipicityVector
Double_t centMax
Int_t ** fBGEventMesonCounter
bg electron counter
AliGammaConversionAODVector * GetBGGoodV0s(Int_t zbin, Int_t mbin, Int_t event)
Double_t * fBinLimitsArrayMultiplicity
bin limits z array
AliGammaConversionMotherAODVector * GetBGGoodMesons(Int_t zbin, Int_t mbin, Int_t event)
std::vector< AliGammaConversionAODVector > AliGammaConversionBGEventVector
std::vector< AliAODMCParticleVector > AliGammaMCParticleBGEventVector
std::vector< AliGammaMCParticleMultipicityVector > AliAODMCParticleBGVector
bool Bool_t
Definition: External.C:53
void AddMCParticleEvent(TList *const eventGammas, Double_t xvalue, Double_t yvalue, Double_t zvalue, Int_t multiplicity, Double_t epvalue=-100)
std::vector< AliGammaConversionMultipicityVector > AliGammaConversionBGVector
Double_t centMin
AliGammaConversionMotherBGVector fBGEventsMeson