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