]>
Commit | Line | Data |
---|---|---|
1ee39b3a | 1 | #ifndef ALITRDCHECKESD_H |
2 | #define ALITRDCHECKESD_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | /* $Id: AliTRDcheckESD.h 27496 2008-07-22 08:35:45Z cblume $ */ | |
7 | ||
8 | ///////////////////////////////////////////////////// | |
9 | // | |
10 | // Check basic detector results at ESD level | |
11 | // | |
12 | // Author | |
13 | // Alex Bercuci <A.Bercuci@gsi.de> | |
14 | // | |
15 | ////////////////////////////////////////////////////// | |
16 | ||
17 | #ifndef ALIANALYSISTASK_H | |
18 | #include "AliAnalysisTask.h" | |
19 | #endif | |
20 | ||
21 | class AliESDEvent; | |
22 | class AliMCEvent; | |
23 | class TH1; | |
24 | class TObjArray; | |
25 | class TGraph; | |
26 | class TGraphErrors; | |
27 | class AliTRDcheckESD : public AliAnalysisTask { | |
28 | public: | |
29 | enum ETRDcheckESDstatus { | |
30 | kMC = BIT(0) | |
31 | }; | |
32 | enum ETRDcheckESDhistos { | |
33 | kNCl = 0 // number of clusters per track | |
34 | ,kTRDstat // TRD tracks status | |
35 | ,kTRDmom // TRD track momentum | |
36 | ,kNhistos = 3 // number of histograms | |
37 | ,kNgraphs = 6 // number of graphs | |
38 | }; | |
39 | enum ETRDcheckESDbits { | |
40 | kTPCout = 1 // track left TPC | |
41 | ,kTRDin // track reach TRD fiducial volume | |
42 | ,kTRDout // track reconstructed in TRD | |
43 | ,kTRDpid // PID calculated in TRD | |
44 | ,kTRDref // track refitted in TRD | |
45 | ,kNbits = 5 // number of check bits | |
46 | }; | |
47 | AliTRDcheckESD(); | |
48 | virtual ~AliTRDcheckESD(); | |
49 | ||
50 | void ConnectInputData(Option_t *); | |
51 | void CreateOutputObjects(); | |
52 | TGraph* GetGraph(Int_t id, Option_t *opt="bc"); | |
53 | void Exec(Option_t *); | |
54 | ||
55 | Bool_t HasMC() const { return TESTBIT(fStatus, kMC);} | |
56 | TObjArray* Histos(); | |
57 | Bool_t Load(const Char_t *fn, const Char_t *name=0x0); | |
58 | void SetMC(Bool_t mc = kTRUE) { mc ? SETBIT(fStatus, kMC) : CLRBIT(fStatus, kMC);} | |
59 | Bool_t PutTrendValue(const Char_t *name, Double_t val); | |
60 | void Terminate(Option_t *); | |
61 | ||
62 | private: | |
63 | static const Float_t fgkxTPC; // end radial position of TPC | |
64 | static const Float_t fgkxTOF; // start radial position of TOF | |
65 | ||
66 | AliTRDcheckESD(const AliTRDcheckESD&); | |
67 | AliTRDcheckESD& operator=(const AliTRDcheckESD&); | |
68 | void Process(TH1 **h, TGraphErrors *g); | |
69 | void PrintStatus(ULong_t s); | |
70 | ||
71 | Int_t fStatus; // bit mask for controlling the task | |
72 | AliESDEvent *fESD; // ESD event | |
73 | AliMCEvent *fMC; // MC event | |
74 | TObjArray *fHistos; // QA histos | |
75 | TObjArray *fResults; // QA graphs | |
76 | static FILE *fgFile; //! trend file streamer | |
77 | ClassDef(AliTRDcheckESD, 3) // user oriented TRD analysis based on ESD-MC data | |
78 | }; | |
79 | #endif |