]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/GammaConv/AliGammaConversionBGHandler.h
Preparation for upcoming changes for HLT
[u/mrichter/AliRoot.git] / PWG4 / GammaConv / AliGammaConversionBGHandler.h
1 //-*- Mode: C++ -*-
2 #ifndef ALIGAMMACONVERSIONBGHANDLER_H
3 #define ALIGAMMACONVERSIONBGHANDLER_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice     */
6
7 ////////////////////////////////////////////////
8 //--------------------------------------------- 
9 // Class  for handling of background calculation
10 //---------------------------------------------
11 ////////////////////////////////////////////////
12
13 #include <vector>
14
15
16 // --- ROOT system ---
17 #include <TObject.h> 
18 #include "AliKFParticle.h"
19 #include "TClonesArray.h"
20
21 #if __GNUC__ >= 3
22 using namespace std;
23 #endif
24
25 typedef vector<AliKFParticle*> AliGammaConversionKFVector;
26
27 class AliGammaConversionBGHandler : public TObject {
28
29  public: 
30   
31   typedef vector<AliGammaConversionKFVector> AliGammaConversionBGEventVector;
32   typedef vector<AliGammaConversionBGEventVector> AliGammaConversionMultipicityVector;
33   typedef vector<AliGammaConversionMultipicityVector> AliGammaConversionBGVector;
34
35   AliGammaConversionBGHandler();                                                        //constructor
36   AliGammaConversionBGHandler(UInt_t binsZ,UInt_t binsMultiplicity,UInt_t fNEvents);    //constructor
37   AliGammaConversionBGHandler(const AliGammaConversionBGHandler & g);                   //copy constructor
38   AliGammaConversionBGHandler & operator = (const AliGammaConversionBGHandler & g);     //assignment operator
39   virtual ~AliGammaConversionBGHandler();                                               //virtual destructor
40
41   void Initialize(Double_t * const zBinLimitsArray, Double_t * const multiplicityBinLimitsArray);
42
43   Int_t GetZBinIndex(Double_t z) const;
44
45   Int_t GetMultiplicityBinIndex(Int_t mult) const;
46
47   void AddEvent(TClonesArray * const eventGammas, Double_t zvalue, Int_t multiplicity);
48
49   Int_t GetNBGEvents()const {return fNEvents;}
50
51   AliGammaConversionKFVector* GetBGGoodV0s(Int_t event, Double_t zvalue, Int_t multiplicity);
52
53   void PrintBGArray();
54
55  private:
56
57   Int_t fNEvents; // number of events
58   Int_t ** fBGEventCounter; // bg counter
59   
60   Int_t fNBinsZ; //n z bins
61   Int_t fNBinsMultiplicity; //n bins multiplicity
62   Double_t *fBinLimitsArrayZ; //bin limits z array
63   Double_t *fBinLimitsArrayMultiplicity; //bin limit multiplicity array
64   AliGammaConversionBGVector fBGEvents; //gackground events
65
66   ClassDef(AliGammaConversionBGHandler,0)
67 };
68 #endif