]>
Commit | Line | Data |
---|---|---|
8f589502 | 1 | #ifndef ALITOFT0MAKER_H |
2 | #define ALITOFT0MAKER_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
536031f2 | 5 | |
6a4e212e | 6 | /* $Id: AliTOFT0maker.h,v 1.8 2010/01/19 16:32:20 noferini Exp $ */ |
8f589502 | 7 | |
8 | /////////////////////////////////////////////// | |
9 | // // | |
10 | // Manager class for time zero evaluation // | |
11 | // with TOF informations // | |
12 | // // | |
13 | /////////////////////////////////////////////// | |
14 | ||
15 | ||
16 | #include "TObject.h" | |
03bd764d | 17 | |
18 | class TH1F; | |
19 | class AliESDEvent; | |
536031f2 | 20 | |
21 | class AliTOFcalibHisto; | |
22 | class AliTOFT0v1; | |
23 | ||
8f589502 | 24 | class AliTOFT0maker : public TObject { |
536031f2 | 25 | public: |
26 | ||
27 | AliTOFT0maker() ; | |
28 | virtual ~AliTOFT0maker() ; // dtor | |
8f589502 | 29 | AliTOFT0maker(const AliTOFT0maker & t); |
30 | AliTOFT0maker & operator=(const AliTOFT0maker & t); | |
536031f2 | 31 | |
32 | void SetESDdata(Bool_t val=kTRUE){fESDswitch=val;}; | |
33 | ||
03bd764d | 34 | // return (fCalculated[0]=event time -- fCalculated[1]=sigma event time in ps -- fCalculated[2]=mean event time for each fill -- fCalculated[3]=number of tracks at the TOF level) if you can subtruct the event time; return NULL if there is no event time |
536031f2 | 35 | Double_t *RemakePID(AliESDEvent *esd,Double_t t0time=0.,Double_t t0sigma=1000.); // t0time and t0sigma in ps |
36 | ||
37 | void SetTimeResolution(Double_t timeresolution){fTimeResolution=timeresolution;};// TOF timeresolution in [s] e.g. for 120 ps -> 1.2e-10 | |
8f589502 | 38 | Double_t GetTimeResolution() const {return fTimeResolution;} |
536031f2 | 39 | |
03bd764d | 40 | void LoadChannelMap(char *filename="$ALICE_ROOT/TOF/enableMap.104892.root"); //load the enable channel map |
41 | void ApplyMask(AliESDEvent * const esd); | |
42 | ||
43 | void SetNoTOFT0(Bool_t status=kTRUE){fNoTOFT0=status;}; // disable the TOF T0 info | |
44 | void SetMaskOffChannel(Bool_t status=kTRUE){fKmask=status;}; // swith for the map off channel | |
45 | ||
536031f2 | 46 | private: |
8f589502 | 47 | void TakeTimeRawCorrection(AliESDEvent * const esd); |
536031f2 | 48 | void RemakeTOFpid(AliESDEvent *esd,Float_t timezero); |
03bd764d | 49 | Double_t GetT0Fill() const; |
50 | ||
8f589502 | 51 | AliTOFcalibHisto *fCalib; // TOF calibration object pointer |
03bd764d | 52 | |
53 | Int_t fnT0; // total number of T0-TOF | |
54 | Int_t fiT0; // last T0-TOF used for T0 fill | |
55 | Double_t fT0fill[1000]; // array for dynamical t0 fill calculation | |
56 | Double_t fT0sigmaTOF[1000]; // array for dynamical t0 fill resolution | |
536031f2 | 57 | |
03bd764d | 58 | Bool_t fNoTOFT0; // swithc to avoid T0-TOF is used |
536031f2 | 59 | Bool_t fESDswitch; // if you want take the ESD time instead of the raw + time slewing correction |
03bd764d | 60 | |
61 | Double_t fCalculated[8]; // contains the parameters with the event time | |
536031f2 | 62 | Double_t fTimeResolution; // global time resolution used to calculate T0 |
03bd764d | 63 | |
8f589502 | 64 | Float_t fT0sigma; // T0 resolution |
536031f2 | 65 | |
03bd764d | 66 | TH1F *fHmapChannel; // histo with the channel map |
67 | Bool_t fKmask; // switch if you want apply a channel filter | |
68 | ||
69 | static const Int_t fgkNmaxT0step = 500; //number of steps in the t0 fill calculation | |
70 | ||
71 | ClassDef(AliTOFT0maker,2); // Calculate the time zero using TOF detector */ | |
536031f2 | 72 | |
73 | }; | |
74 | ||
8f589502 | 75 | #endif // ALITOFT0MAKER_H |