1 #ifndef ALITPCCALIBBASE_H
2 #define ALITPCCALIBBASE_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
12 #include "TObjString.h"
16 class AliESDfriendTrack;
18 class TTreeSRedirector;
25 class AliTPCcalibBase:public TNamed {
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;}
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;}
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
74 Int_t fDebugLevel; // debug level
76 ClassDef(AliTPCcalibBase,3)