]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TOF/AliTOFT0maker.h
- AliPhysicsSelection: protected writing of fHistBunchCrossing and fHistTriggerPattern
[u/mrichter/AliRoot.git] / TOF / AliTOFT0maker.h
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                               */
5
6 /* $Id: AliTOFT0maker.h,v 1.8 2010/01/19 16:32:20 noferini Exp $ */
7
8 ///////////////////////////////////////////////
9 //                                           //
10 //  Manager class for time zero evaluation   //
11 //  with TOF informations                    //
12 //                                           //
13 ///////////////////////////////////////////////
14
15
16 #include "TObject.h"
17
18 class TH1F;
19 class AliESDEvent;
20
21 class AliTOFcalibHisto;
22 class AliTOFT0v1;
23
24 class AliTOFT0maker : public TObject {
25 public:
26   
27   AliTOFT0maker() ;
28   virtual ~AliTOFT0maker() ; // dtor
29   AliTOFT0maker(const AliTOFT0maker & t);
30   AliTOFT0maker & operator=(const AliTOFT0maker & t);
31  
32   void SetESDdata(Bool_t val=kTRUE){fESDswitch=val;};
33
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
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
38   Double_t  GetTimeResolution() const {return fTimeResolution;}
39   
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   
46  private:
47   void TakeTimeRawCorrection(AliESDEvent * const esd);
48   void RemakeTOFpid(AliESDEvent *esd,Float_t timezero);
49   Double_t GetT0Fill() const;
50   
51   AliTOFcalibHisto *fCalib; // TOF calibration object pointer
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
57
58   Bool_t fNoTOFT0;   // swithc to avoid T0-TOF is used
59   Bool_t fESDswitch; // if you want take the ESD time instead of the raw + time slewing correction
60   
61   Double_t fCalculated[8]; // contains the parameters with the event time
62   Double_t fTimeResolution;  // global time resolution used to calculate T0
63   
64   Float_t fT0sigma; // T0 resolution
65   
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 */
72   
73 };
74
75 #endif // ALITOFT0MAKER_H