]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPC/Calib/AliTPCcalibBase.h
small update
[u/mrichter/AliRoot.git] / TPC / Calib / 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 class TAxis;
24
25 class AliTPCcalibBase:public TNamed {
26 public:
27   AliTPCcalibBase(); 
28   AliTPCcalibBase(const char * name, const char * title); 
29   AliTPCcalibBase(const AliTPCcalibBase&calib);
30   AliTPCcalibBase &operator=(const AliTPCcalibBase&calib);
31   virtual ~AliTPCcalibBase();
32   virtual void     Process(AliESDEvent *event){ fCurrentEvent = event; return;}
33   virtual void     Process(AliTPCseed *track){fCurrentSeed = track; return;}
34   virtual void     Process(AliESDtrack *track, Int_t /*runNo=-1*/){fCurrentTrack=track; return;}
35   virtual Long64_t Merge(TCollection */*li*/){return 0;}
36   virtual void     Analyze(){return;}
37   virtual void     Terminate();
38   virtual void     UpdateEventInfo(AliESDEvent * event);
39   virtual Bool_t   AcceptTrigger();
40   virtual void     SetTriggerMask(Int_t accept, Int_t reject, Bool_t rejectLaser){fTriggerMaskAccept=accept;fTriggerMaskReject=reject; fRejectLaser = rejectLaser;}
41  
42   //
43   // debug streamer support
44   TTreeSRedirector *GetDebugStreamer();
45   void       SetStreamLevel(Int_t streamLevel){fStreamLevel=streamLevel;}
46   void       SetDebugLevel(Int_t level) {fDebugLevel = level;}
47   Int_t      GetStreamLevel() const {return fStreamLevel;}
48   Int_t      GetDebugLevel() const {return fDebugLevel;}
49   virtual void RegisterDebugOutput(const char *path);
50   static     Bool_t HasLaser(AliESDEvent *event);
51   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);
52   static void            BinLogX(THnSparse *h, Int_t axisDim);
53   static void            BinLogX(TH1 *h);
54   static void            BinLogX(TAxis * axis);
55   void SetRun(Int_t run){ fRun=run;}
56 protected: 
57   TTreeSRedirector *fDebugStreamer;     //! debug streamer
58   Int_t  fStreamLevel;                  //  debug stream level
59   Int_t  fRun;                          //!  current Run number
60   Int_t  fEvent;                        //! current Event number
61   Int_t  fTime;                         //!  current Time
62   ULong64_t  fTrigger;                  //! current trigger mask
63   Float_t fMagF;                        // current magnetic field 
64   Int_t   fTriggerMaskReject;           //trigger mask - non accept trigger
65   Int_t   fTriggerMaskAccept;           //trigger mask - accept
66   Bool_t  fHasLaser;                    //flag the laser is overlayed with given event
67   Bool_t  fRejectLaser;                 //flag- reject laser
68   TObjString fTriggerClass;             // trigger class
69   AliESDEvent  *fCurrentEvent;          //! current event
70   AliESDtrack *fCurrentTrack;           //! current esd track
71   AliESDfriendTrack *fCurrentFriendTrack;     //! current friend track
72   AliTPCseed   *fCurrentSeed;           //! current seed
73 private:
74   Int_t  fDebugLevel;                   //  debug level
75
76   ClassDef(AliTPCcalibBase,3)
77 };
78
79 #endif