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;
24 class AliTPCcalibBase:public TNamed {
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;}
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;}
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
72 Int_t fDebugLevel; // debug level
74 ClassDef(AliTPCcalibBase,2)