]>
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; |
536031f2 | 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 | |
03bd764d | 42 | void LoadChannelMap(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 | ||
536031f2 | 57 | private: |
2a258f40 | 58 | |
5b4ed716 | 59 | AliTOFT0maker(const AliTOFT0maker &); |
60 | AliTOFT0maker & operator=(const AliTOFT0maker &); | |
2a258f40 | 61 | |
5b4ed716 | 62 | void SetTOFResponse(); |
63 | ||
64 | AliTOFT0v1 *fT0TOF; // T0-TOF | |
65 | AliESDpid *fPIDesd; // PID esd | |
66 | Bool_t fExternalPIDFlag; // external PID flag | |
67 | AliTOFcalib *fTOFcalib; // TOF calibration | |
68 | ||
90beec49 | 69 | Bool_t fNoTOFT0; // switch to avoid T0-TOF is used |
5b4ed716 | 70 | |
2a258f40 | 71 | Int_t fNmomBins; |
72 | ||
73 | Double_t fCalculated[10]; // contains the parameters with the event time | |
74 | ||
5b4ed716 | 75 | Double_t fT0cur[2]; // current T0 and T0 sigma |
76 | ||
536031f2 | 77 | Double_t fTimeResolution; // global time resolution used to calculate T0 |
03bd764d | 78 | |
8f589502 | 79 | Float_t fT0sigma; // T0 resolution |
536031f2 | 80 | |
03bd764d | 81 | TH1F *fHmapChannel; // histo with the channel map |
82 | Bool_t fKmask; // switch if you want apply a channel filter | |
83 | ||
5b4ed716 | 84 | Float_t fT0width; // T0 FILL width |
03bd764d | 85 | |
2a258f40 | 86 | Float_t fT0spreadExt; |
87 | Float_t fT0fillExt; // t0spread if set | |
88 | ||
03bd764d | 89 | ClassDef(AliTOFT0maker,2); // Calculate the time zero using TOF detector */ |
536031f2 | 90 | |
91 | }; | |
92 | ||
2a258f40 | 93 | #endif // ALITOFT0MAKER_H |