]>
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 | |
5b4ed716 | 21 | class AliESDpid; |
69ccfdf6 | 22 | class AliTOFT0v1; |
5b4ed716 | 23 | class AliTOFcalib; |
536031f2 | 24 | |
8f589502 | 25 | class AliTOFT0maker : public TObject { |
536031f2 | 26 | public: |
27 | ||
5b4ed716 | 28 | AliTOFT0maker() ; // default constructor |
bc4fdef6 | 29 | AliTOFT0maker(AliESDpid *externalPID, AliTOFcalib *tofCalib=NULL); // overloaded constructor |
536031f2 | 30 | virtual ~AliTOFT0maker() ; // dtor |
2a258f40 | 31 | |
03bd764d | 32 | // 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 |
5b4ed716 | 33 | Double_t *ComputeT0TOF(AliESDEvent *esd,Double_t t0time=0.,Double_t t0sigma=1000.); // t0time and t0sigma in ps |
34 | void ApplyT0TOF(AliESDEvent *esd); | |
35 | Float_t GetExpectedSigma(Float_t mom, Float_t tof, Float_t mass); | |
36 | Double_t *GetT0p(Float_t p); | |
2a258f40 | 37 | |
5b4ed716 | 38 | void SetTimeResolution(Double_t timeresolution){fTimeResolution=timeresolution;};// TOF timeresolution in [ps] |
39 | Double_t GetTimeResolution() const {return fTimeResolution;} // Get TOF Time Resolution | |
bc4fdef6 | 40 | void SetT0FillWidth(Float_t width){if(width > 50) fT0width = width; else fT0width=150;}; // in ps |
536031f2 | 41 | |
777fcfde | 42 | void LoadChannelMap(const char *filename="$ALICE_ROOT/TOF/enableMap.104892.root"); //load the enable channel map |
5b4ed716 | 43 | void ApplyMask(AliESDEvent * const esd); // Apply the channel mask |
03bd764d | 44 | |
45 | void SetNoTOFT0(Bool_t status=kTRUE){fNoTOFT0=status;}; // disable the TOF T0 info | |
5b4ed716 | 46 | void SetMaskOffChannel(Bool_t status=kTRUE){fKmask=status;}; // switch for the map off channel |
2a258f40 | 47 | |
5b4ed716 | 48 | Float_t TuneForMC(AliESDEvent *esd); // set enabled channeld, add a smeared t0, add a TOF smearing, return true(smeared) T0 event |
2a258f40 | 49 | |
f858b00e | 50 | void SetT0spread(Float_t t0spread){fT0spreadExt=t0spread;}; // get T0spread |
51 | Float_t GetT0spread() const {return fT0spreadExt;} // get T0spread | |
52 | ||
2a258f40 | 53 | void SetT0fill(Float_t t0fill){fT0fillExt=t0fill;}; |
54 | ||
f858b00e | 55 | void WriteInESD(AliESDEvent *esd); |
56 | ||
a558aa69 | 57 | void SetTOFT0algorithm(Int_t flag=1){fTOFT0algorithm=flag;}; |
58 | Int_t GetTOFT0algorithm() const {return fTOFT0algorithm;}; | |
59 | ||
536031f2 | 60 | private: |
2a258f40 | 61 | |
5b4ed716 | 62 | AliTOFT0maker(const AliTOFT0maker &); |
63 | AliTOFT0maker & operator=(const AliTOFT0maker &); | |
2a258f40 | 64 | |
5b4ed716 | 65 | void SetTOFResponse(); |
66 | ||
67 | AliTOFT0v1 *fT0TOF; // T0-TOF | |
68 | AliESDpid *fPIDesd; // PID esd | |
69 | Bool_t fExternalPIDFlag; // external PID flag | |
70 | AliTOFcalib *fTOFcalib; // TOF calibration | |
71 | ||
90beec49 | 72 | Bool_t fNoTOFT0; // switch to avoid T0-TOF is used |
5b4ed716 | 73 | |
2a258f40 | 74 | Int_t fNmomBins; |
75 | ||
76 | Double_t fCalculated[10]; // contains the parameters with the event time | |
77 | ||
5b4ed716 | 78 | Double_t fT0cur[2]; // current T0 and T0 sigma |
79 | ||
536031f2 | 80 | Double_t fTimeResolution; // global time resolution used to calculate T0 |
03bd764d | 81 | |
8f589502 | 82 | Float_t fT0sigma; // T0 resolution |
536031f2 | 83 | |
03bd764d | 84 | TH1F *fHmapChannel; // histo with the channel map |
85 | Bool_t fKmask; // switch if you want apply a channel filter | |
86 | ||
5b4ed716 | 87 | Float_t fT0width; // T0 FILL width |
03bd764d | 88 | |
2a258f40 | 89 | Float_t fT0spreadExt; |
90 | Float_t fT0fillExt; // t0spread if set | |
a558aa69 | 91 | Int_t fTOFT0algorithm; // select algorithm (1 default, 2 speed up) |
2a258f40 | 92 | |
a558aa69 | 93 | ClassDef(AliTOFT0maker,3); // Calculate the time zero using TOF detector */ |
536031f2 | 94 | |
95 | }; | |
96 | ||
2a258f40 | 97 | #endif // ALITOFT0MAKER_H |