]>
Commit | Line | Data |
---|---|---|
1ed77580 | 1 | #ifndef ALITOFCALIBTASK_H |
2 | #define ALITOFCALIBTASK_H | |
3 | ||
4 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | ||
7 | //////////////////////////////////////////// | |
8 | // task for TOF calibration // | |
9 | // C.Zampolli // | |
10 | //////////////////////////////////////////// | |
11 | ||
12 | /* $Id$ */ | |
13 | ||
e26353e8 | 14 | #define TOFCHANNELS 157248 // number TOF channels |
1ed77580 | 15 | #define CHENTRIES 500 // number of entries per TOF channel per run |
16 | // (to be divided by 5 to get the | |
17 | // real number of entries), bigarray | |
1ed77580 | 18 | #define LOWERMOMBOUND 1.0 // [GeV/c] default value Pb-Pb |
19 | #define UPPERMOMBOUND 1.8 // [GeV/c] default value Pb-Pb | |
e26353e8 | 20 | #define MINTIME 5 // min delta time of flight value (ns) |
1ed77580 | 21 | #define NIDX 5 // number of values stored |
22 | // in big/smallarray per ESD track | |
23 | #define NIDXSMALL 3 // number of values stored | |
24 | // after Comb PID per ESD track | |
25 | #define DELTAIDXTOT 0 // index for ToT in bigarray | |
26 | #define DELTAIDXTIME 1 // index for TOF time in big/smallarray | |
e26353e8 | 27 | #define DELTAIDXEXTIMEPI 2 // index for Exp Time Pi in bigarray, will |
28 | // be the same element in the array where | |
29 | // the assigned time after Comb PID will | |
30 | // be stored | |
1ed77580 | 31 | #define DELTAIDXEXTIMEKA 3 // index for Exp Time Ka in bigarray |
32 | #define DELTAIDXEXTIMEPR 4 // index for Exp Time Pr in bigarray | |
1ed77580 | 33 | #define TRACKERROR 90*1E-3 // error on the tracks for |
34 | // Combinatorial PID (ns) | |
1ed77580 | 35 | |
4db98a6a | 36 | #include "AliAnalysisTaskSE.h" |
1ed77580 | 37 | |
38 | class TTree; | |
39 | class AliESDtrack ; | |
40 | class TFile; | |
41 | class TH1F ; | |
42 | class TH1I ; | |
43 | class TH1D ; | |
44 | class TH2F ; | |
70ddd0ee | 45 | class AliESDEvent ; |
4db98a6a | 46 | class TList ; |
47 | class AliTOFArray; | |
1ed77580 | 48 | |
4db98a6a | 49 | class AliTOFCalibTask : public AliAnalysisTaskSE { |
1ed77580 | 50 | |
51 | public: | |
4db98a6a | 52 | // AliTOFCalibTask() ; //ctor |
53 | AliTOFCalibTask(const char *name = "TOFCalibTask") ; //ctor | |
1ed77580 | 54 | AliTOFCalibTask(const AliTOFCalibTask & calibtask); // copy constructor |
55 | AliTOFCalibTask& operator=(const AliTOFCalibTask & calibtask); // assignment operator | |
56 | virtual ~AliTOFCalibTask(); //dtor | |
4db98a6a | 57 | virtual void UserExec(Option_t * opt="") ; |
58 | virtual void UserCreateOutputObjects(); | |
1ed77580 | 59 | virtual void Terminate(Option_t * opt = "") ; |
1ed77580 | 60 | |
61 | private: | |
4db98a6a | 62 | Bool_t Select(AliESDtrack *t); |
63 | Int_t SelectOnTime(Float_t *charray, Int_t ntracks, Int_t ich); | |
64 | Bool_t CombPID(Float_t *smallarray, Int_t size); | |
65 | void BookHistos(); | |
66 | void DrawHistos(); | |
e26353e8 | 67 | Float_t LoopCombPID(Int_t itrkinset, Int_t ntrkinset, Float_t **exptof, Float_t *texp, Float_t *timeofflight, Int_t *index, Float_t chisquarebest); |
1ed77580 | 68 | |
1ed77580 | 69 | //leaf types |
70ddd0ee | 70 | AliESDEvent* fESD ; //! Declaration of leave types |
1ed77580 | 71 | Float_t fToT; // Time over Threshold, ns |
72 | Float_t fTime; // TOF time, ns | |
73 | Float_t fExpTimePi; // exp time, Pions, ns | |
74 | Float_t fExpTimeKa; // exp time, Kaons, ns | |
75 | Float_t fExpTimePr; // exp time, Protons, ns | |
1ed77580 | 76 | Float_t fMinTime; // min TOF time for track selection; not used |
4db98a6a | 77 | AliTOFArray* fTOFArray; //! object for TOF signal, arranged per channel |
1ed77580 | 78 | Int_t fnESD; // number of analyzed ESD tracks |
79 | Int_t fnESDselected; // number of selected ESD tracks | |
80 | Int_t fnESDkTOFout; // number of ESD tracks with kTOFout | |
81 | Int_t fnESDkTIME; // number of ESD tracks with kTIME | |
82 | Int_t fnESDassTOFcl; // number of ESD tracks with assigned TOF cluster | |
83 | Int_t fnESDTIMEcut; // number of ESD tracks with TOF time < 17 ns | |
84 | Int_t fnESDTRDcut; // number of ESD tracks with TRD ok | |
85 | ||
86 | // Histos | |
87 | TH1F* fhToT; // ToT histo | |
88 | TH1F* fhTime; // Time histo | |
89 | TH1F* fhExpTimePi; // Exp Time Pi histo | |
90 | TH1F* fhExpTimeKa; // Exp Time Ka histo | |
91 | TH1F* fhExpTimePr; // Exp Time Pr histo | |
92 | TH1I* fhPID; // PID histo | |
93 | TH1D* fhch; // TOF channel histo | |
4db98a6a | 94 | TH1I* fhESD; // n. of analyzed histo |
95 | TH1I* fhESDselected; // n. of selected ESD tracks histo | |
96 | TH1I* fhESDkTOFout; // n. of ESD tracks with kTOFout histo | |
97 | TH1I* fhESDkTIME; // n. of ESD tracks with kTIME histo | |
98 | TH1I* fhESDassTOFcl; // n. of ESD tracks with assTOFcl histo | |
99 | TH1I* fhESDTIMEcut; // n. of ESD tracks with TIMEcut histo | |
100 | TH1I* fhESDTRDcut; // n. of ESD tracks with TRDcut histo | |
1ed77580 | 101 | |
e26353e8 | 102 | Int_t fassparticle[11]; // array for assigned identities |
1ed77580 | 103 | |
4db98a6a | 104 | TList *fListOfHistos; //! list of Histos to be stored in the output container 1 |
105 | TList *fListArray; //! list of Array for output container 2 | |
106 | ||
e26353e8 | 107 | ClassDef(AliTOFCalibTask, 2); // TOF Calib task |
1ed77580 | 108 | }; |
109 | #endif // ALITOFCALIBTASK_H | |
110 |