Improved memory leaks in AliTOFtracker* classes: additional solution for bug #66136
[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
21class AliTOFcalibHisto;
22class AliTOFT0v1;
23
8f589502 24class AliTOFT0maker : public TObject {
536031f2 25public:
26
27 AliTOFT0maker() ;
28 virtual ~AliTOFT0maker() ; // dtor
8f589502 29 AliTOFT0maker(const AliTOFT0maker & t);
30 AliTOFT0maker & operator=(const AliTOFT0maker & t);
536031f2 31
32 void SetESDdata(Bool_t val=kTRUE){fESDswitch=val;};
33
03bd764d 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
536031f2 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
8f589502 38 Double_t GetTimeResolution() const {return fTimeResolution;}
536031f2 39
03bd764d 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
536031f2 46 private:
8f589502 47 void TakeTimeRawCorrection(AliESDEvent * const esd);
536031f2 48 void RemakeTOFpid(AliESDEvent *esd,Float_t timezero);
03bd764d 49 Double_t GetT0Fill() const;
50
8f589502 51 AliTOFcalibHisto *fCalib; // TOF calibration object pointer
03bd764d 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
536031f2 57
03bd764d 58 Bool_t fNoTOFT0; // swithc to avoid T0-TOF is used
536031f2 59 Bool_t fESDswitch; // if you want take the ESD time instead of the raw + time slewing correction
03bd764d 60
61 Double_t fCalculated[8]; // contains the parameters with the event time
536031f2 62 Double_t fTimeResolution; // global time resolution used to calculate T0
03bd764d 63
8f589502 64 Float_t fT0sigma; // T0 resolution
536031f2 65
03bd764d 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 */
536031f2 72
73};
74
8f589502 75#endif // ALITOFT0MAKER_H