]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TOF/AliTOFT0v1.h
Update from Marta on her EMCAL user tasks
[u/mrichter/AliRoot.git] / TOF / AliTOFT0v1.h
CommitLineData
8f589502 1#ifndef ALITOFT0V1_H
2#define ALITOFT0V1_H
536031f2 3
8f589502 4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7//----------------------------------------------------------------------------//
8// //
9// Description: class to performe an event time measurment with TOF. //
10// //
11//----------------------------------------------------------------------------//
12
13#include "TObject.h"
536031f2 14
62f44f07 15#include "TObjArray.h"
16
14b2cbea 17class AliESDtrack;
8f589502 18class AliESDEvent;
2a258f40 19class AliESDpid;
536031f2 20
62f44f07 21class TObjArray;
22
536031f2 23class AliTOFT0v1: public TObject {
24public:
25
2a258f40 26 AliTOFT0v1(AliESDpid *extPID=NULL); // default constructor
27 AliTOFT0v1(AliESDEvent *event,AliESDpid *extPID=NULL); // overloaded constructor
536031f2 28 virtual ~AliTOFT0v1() ; // dtor
29
721ed687 30 Double_t* DefineT0(Option_t *option,Float_t pMinCut=3,Float_t pMaxCut=5);
2a258f40 31
536031f2 32 void SetMomBounds(Float_t pLow, Float_t pUp) { fLowerMomBound=pLow; fUpperMomBound=pUp;} // momenta are expressed in [GeV/c]
33 void SetTimeCorr(Float_t timecorr) {fTimeCorr=timecorr;} //in ns!!!
8f589502 34 Float_t GetMomError(Int_t index, Float_t mom, Float_t texp) const;
2a258f40 35 Double_t GetResult(Int_t i){if(i < 6) return fT0SigmaT0def[i]; else return -1.;};
8f589502 36/* void Print(Option_t* option) const ; */
536031f2 37
2a258f40 38 void SetTimeResolution(Float_t /* timeres */){}; // obsolete
a558aa69 39 void SetOptimization(Bool_t flag=kFALSE){fOptFlag=flag;};
5b4ed716 40 void Init(AliESDEvent *event); // init
41
536031f2 42 private:
14b2cbea 43
62f44f07 44 Float_t ToCalculatePower(Float_t base, Int_t exponent) const ;
45 Int_t ToCalculatePower(Int_t base, Int_t exponent) const ;
46
5b4ed716 47 AliTOFT0v1(const AliTOFT0v1 &);
48 AliTOFT0v1 & operator=(const AliTOFT0v1 &) ;
49
14b2cbea 50 Bool_t AcceptTrack(AliESDtrack *track); /* accept track */
8f589502 51 Float_t GetSigmaToVertex(AliESDtrack *track) const; /* get sigma to vertex */
90beec49 52 Bool_t CheckTPCMatching(AliESDtrack *track,Int_t imass) const;
536031f2 53
536031f2 54 Float_t fLowerMomBound; // momentum lower bound for selected primary tracks
536031f2 55 Float_t fUpperMomBound; // momentum upper bound for selected primary tracks
8f589502 56 Float_t fTimeCorr; // global time resolution used to calculate T0
536031f2 57 AliESDEvent* fEvent; //evento per il quale si vuole calcolare il T0
2a258f40 58 Double_t fT0SigmaT0def[6]; // array with the event information ([0]=event time -- [1] = sigma -- [2] = tracks on the TOF -- [3] = tracks used for the event time)
a558aa69 59
60 Int_t fLookupPowerThree[15]; //! lookup table for power 3 to speed up the code
536031f2 61
2a258f40 62 AliESDpid *fPIDesd; // class with the detector response
63
62f44f07 64 TObjArray *fTracks; //! array of tracks
65 TObjArray *fGTracks; //! array of good tracks
66 TObjArray *fTracksT0; //! array of tracks usefull for T0 estimate
a558aa69 67 Bool_t fOptFlag; // use optimized code
62f44f07 68
a558aa69 69 ClassDef(AliTOFT0v1,5); // Calculate the time zero using TOF detector */
536031f2 70
71};
72
73#endif