Use event specie to identufy laser events
[u/mrichter/AliRoot.git] / TPC / AliTPCcalibBase.h
CommitLineData
3ab35fc5 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"
15e48021 12#include "TObjString.h"
3ab35fc5 13class AliTPCseed;
c32da879 14class AliESDEvent;
f7f33dec 15class AliESDtrack;
4486a91f 16class AliESDfriendTrack;
3ab35fc5 17class TCollection;
ae28e92e 18class TTreeSRedirector;
52a5850f 19class TGraph;
20class TGraphErrors;
21class THnSparse;
6ba68367 22class TH1;
3ab35fc5 23
24class AliTPCcalibBase:public TNamed {
25public:
06c1ea82 26 AliTPCcalibBase();
8cf12c96 27 AliTPCcalibBase(const char * name, const char * title);
ae28e92e 28 AliTPCcalibBase(const AliTPCcalibBase&calib);
29 AliTPCcalibBase &operator=(const AliTPCcalibBase&calib);
3ab35fc5 30 virtual ~AliTPCcalibBase();
b842d904 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;}
06c1ea82 34 virtual Long64_t Merge(TCollection */*li*/){return 0;}
3ab35fc5 35 virtual void Analyze(){return;}
7eaa723e 36 virtual void Terminate();
c51653e8 37 virtual void UpdateEventInfo(AliESDEvent * event);
38 virtual Bool_t AcceptTrigger();
2d22fa36 39 virtual void SetTriggerMask(Int_t accept, Int_t reject, Bool_t rejectLaser){fTriggerMaskAccept=accept;fTriggerMaskReject=reject; fRejectLaser = rejectLaser;}
40
ae28e92e 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;}
f7f33dec 48 virtual void RegisterDebugOutput(const char *path);
2d22fa36 49 static Bool_t HasLaser(AliESDEvent *event);
70b0f0bf 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);
6ba68367 51 static void BinLogX(THnSparse *h, Int_t axisDim);
52 static void BinLogX(TH1 *h);
0b736a46 53 void SetRun(Int_t run){ fRun=run;}
ae28e92e 54protected:
55 TTreeSRedirector *fDebugStreamer; //! debug streamer
56 Int_t fStreamLevel; // debug stream level
108953e9 57 Int_t fRun; //! current Run number
58 Int_t fEvent; //! current Event number
59 Int_t fTime; //! current Time
690b016b 60 ULong64_t fTrigger; //! current trigger mask
cf5b0aa0 61 Float_t fMagF; // current magnetic field
c51653e8 62 Int_t fTriggerMaskReject; //trigger mask - non accept trigger
63 Int_t fTriggerMaskAccept; //trigger mask - accept
2d22fa36 64 Bool_t fHasLaser; //flag the laser is overlayed with given event
65 Bool_t fRejectLaser; //flag- reject laser
b842d904 66 TObjString fTriggerClass; // trigger class
67 AliESDEvent *fCurrentEvent; //! current event
68 AliESDtrack *fCurrentTrack; //! current esd track
4486a91f 69 AliESDfriendTrack *fCurrentFriendTrack; //! current friend track
b842d904 70 AliTPCseed *fCurrentSeed; //! current seed
ae28e92e 71private:
72 Int_t fDebugLevel; // debug level
108953e9 73
cf5b0aa0 74 ClassDef(AliTPCcalibBase,2)
3ab35fc5 75};
76
77#endif