]> git.uio.no Git - u/mrichter/AliRoot.git/blob - FMD/AliFMDBackgroundCorrection.h
89e627cf6416962b2e8e758c2e1154af2faf05f2
[u/mrichter/AliRoot.git] / FMD / AliFMDBackgroundCorrection.h
1 // -*- mode: C++ -*- 
2
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights
4  * reserved. 
5  *
6  * See cxx source for full Copyright notice                               
7  */
8 // Thil class computes background corrections for the FMD. The correction is computed 
9 // in eta,phi cells and the objects stored can be put into alien to use with analysis.
10 //
11 // Author: Hans Hjersing Dalsgaard, NBI, hans.dalsgaard@cern.ch
12 //
13 // 
14
15 #ifndef ALIFMDBACKGROUNDCORRECTION_H
16 #define ALIFMDBACKGROUNDCORRECTION_H
17
18 #include "AliFMDInput.h"
19 #include "TObjArray.h"
20
21
22 class AliFMDBackgroundCorrection : public TNamed {
23   
24 public:
25   
26   AliFMDBackgroundCorrection() ;
27   ~AliFMDBackgroundCorrection() {};
28   void GenerateBackgroundCorrection(Int_t nvtxbins=10,
29                                     Float_t zvtxcut=10,
30                                     Int_t nBinsEta=100, 
31                                     Bool_t storeInAlien = kFALSE, 
32                                     Int_t runNo =0, 
33                                     Int_t endRunNo=999999999, 
34                                     const Char_t* filename="background.root", 
35                                     Bool_t simulate = kFALSE, 
36                                     Int_t nEvents=10);
37   
38   class AliFMDInputBG : public AliFMDInput {
39     
40   public :
41     AliFMDInputBG() ; 
42    
43     Bool_t Init();
44     
45     Int_t GetNprim() {return fPrim;}
46     Int_t GetNhits() {return fHits;}
47     void  SetVtxCutZ(Double_t vtxCut) { fZvtxCut = vtxCut;}
48     void  SetNvtxBins(Int_t nBins) { fNvtxBins = nBins;}
49     void  SetNbinsEta(Int_t nBins) { fNbinsEta = nBins;}
50     TObjArray*  GetHits() {return &fHitArray;}
51     TObjArray*  GetPrimaries() {return &fPrimaryArray;}
52   private:
53     Bool_t ProcessTrack(Int_t i, TParticle* p, AliFMDHit* h );
54     TObjArray fPrimaryArray;
55     TObjArray fHitArray;
56     Int_t fPrim;
57     Int_t fHits;
58     Double_t fZvtxCut;
59     Int_t fNvtxBins;
60     Int_t fPrevTrack;
61     Int_t fPrevDetector;
62     Char_t fPrevRing;
63     Int_t fNbinsEta;
64   };
65   
66 private:
67   
68   void Simulate(Int_t);
69   void ProcessPrimaries(AliRunLoader*);
70   void ProcessHits();
71   TObjArray fCorrectionArray;
72    
73   
74   ClassDef(AliFMDBackgroundCorrection,0)
75   
76 };
77 #endif
78 // EOF