Enabled option for selecting tree name in trneding macro
[u/mrichter/AliRoot.git] / TOF / AliTOFT0maker.h
CommitLineData
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
18class TH1F;
19class AliESDEvent;
536031f2 20
5b4ed716 21class AliESDpid;
69ccfdf6 22class AliTOFT0v1;
5b4ed716 23class AliTOFcalib;
536031f2 24
8f589502 25class AliTOFT0maker : public TObject {
536031f2 26public:
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