]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPC/AliTPCcalibBase.h
During simulation: fill STU region w/ non null time sums
[u/mrichter/AliRoot.git] / TPC / AliTPCcalibBase.h
1 #ifndef ALITPCCALIBBASE_H
2 #define ALITPCCALIBBASE_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 ////
8 ////
9 ////
10
11 #include "TNamed.h"
12 #include "TObjString.h"
13 class AliTPCseed;
14 class AliESDEvent;
15 class AliESDtrack;
16 class AliESDfriendTrack;
17 class TCollection;
18 class TTreeSRedirector;
19 class TGraph;
20 class TGraphErrors;
21 class THnSparse;
22 class TH1;
23
24 class AliTPCcalibBase:public TNamed {
25 public:
26   AliTPCcalibBase(); 
27   AliTPCcalibBase(const char * name, const char * title); 
28   AliTPCcalibBase(const AliTPCcalibBase&calib);
29   AliTPCcalibBase &operator=(const AliTPCcalibBase&calib);
30   virtual ~AliTPCcalibBase();
31   virtual void     Process(AliESDEvent *event){ fCurrentEvent = event; return;}
32   virtual void     Process(AliTPCseed *track){fCurrentSeed = track; return;}
33   virtual void     Process(AliESDtrack *track, Int_t /*runNo=-1*/){fCurrentTrack=track; return;}
34   virtual Long64_t Merge(TCollection */*li*/){return 0;}
35   virtual void     Analyze(){return;}
36   virtual void     Terminate();
37   virtual void     UpdateEventInfo(AliESDEvent * event);
38   virtual Bool_t   AcceptTrigger();
39   virtual void     SetTriggerMask(Int_t accept, Int_t reject, Bool_t rejectLaser){fTriggerMaskAccept=accept;fTriggerMaskReject=reject; fRejectLaser = rejectLaser;}
40  
41   //
42   // debug streamer support
43   TTreeSRedirector *GetDebugStreamer();
44   void       SetStreamLevel(Int_t streamLevel){fStreamLevel=streamLevel;}
45   void       SetDebugLevel(Int_t level) {fDebugLevel = level;}
46   Int_t      GetStreamLevel() const {return fStreamLevel;}
47   Int_t      GetDebugLevel() const {return fDebugLevel;}
48   virtual void RegisterDebugOutput(const char *path);
49   static     Bool_t HasLaser(AliESDEvent *event);
50   static TGraphErrors *        FitSlices(THnSparse *h, Int_t axisDim1, Int_t axisDim2, Int_t minEntries, Int_t nmaxBin, Float_t fracLow=0.1, Float_t fracUp=0.9, Bool_t useMedian=kFALSE, TTreeSRedirector *cstream=0, Int_t ival=1);
51   static void            BinLogX(THnSparse *h, Int_t axisDim);
52   static void            BinLogX(TH1 *h);
53   void SetRun(Int_t run){ fRun=run;}
54 protected: 
55   TTreeSRedirector *fDebugStreamer;     //! debug streamer
56   Int_t  fStreamLevel;                  //  debug stream level
57   Int_t  fRun;                          //!  current Run number
58   Int_t  fEvent;                        //! current Event number
59   Int_t  fTime;                         //!  current Time
60   ULong64_t  fTrigger;                  //! current trigger mask
61   Float_t fMagF;                        // current magnetic field 
62   Int_t   fTriggerMaskReject;           //trigger mask - non accept trigger
63   Int_t   fTriggerMaskAccept;           //trigger mask - accept
64   Bool_t  fHasLaser;                    //flag the laser is overlayed with given event
65   Bool_t  fRejectLaser;                 //flag- reject laser
66   TObjString fTriggerClass;             // trigger class
67   AliESDEvent  *fCurrentEvent;          //! current event
68   AliESDtrack *fCurrentTrack;           //! current esd track
69   AliESDfriendTrack *fCurrentFriendTrack;     //! current friend track
70   AliTPCseed   *fCurrentSeed;           //! current seed
71 private:
72   Int_t  fDebugLevel;                   //  debug level
73
74   ClassDef(AliTPCcalibBase,2)
75 };
76
77 #endif