]>
Commit | Line | Data |
---|---|---|
9a281e83 | 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 | // Reconstruction QA // | |
11 | // // | |
12 | //////////////////////////////////////////////////////////////////////////// | |
13 | ||
14 | #ifndef ALIANALYSISTASK_H | |
15 | #include "AliAnalysisTask.h" | |
16 | #endif | |
17 | ||
18 | class AliESDEvent; | |
19 | class AliMCEvent; | |
873458ab | 20 | class TH1; |
9a281e83 | 21 | class TObjArray; |
965e895b | 22 | class TGraphErrors; |
9a281e83 | 23 | class AliTRDcheckESD : public AliAnalysisTask { |
24 | public: | |
25 | enum ETRDcheckESDstatus { | |
26 | kMC = BIT(0) | |
27 | }; | |
28 | enum ETRDcheckESDhistos { | |
d12237d6 | 29 | kNCl = 0 // number of clusters per track |
30 | ,kTRDstat // TRD tracks status | |
31 | ,kResults // graphs as results | |
965e895b | 32 | ,kNhistos = 3 // number of histograms |
d12237d6 | 33 | }; |
34 | enum ETRDcheckESDbits { | |
35 | kTPCout = 1 // track left TPC | |
36 | ,kTRDin // track reach TRD fiducial volume | |
37 | ,kTRDout // track reconstructed in TRD | |
38 | ,kTRDpid // PID calculated in TRD | |
39 | ,kTRDref // track refitted in TRD | |
40 | ,kNbits = 5 // number of check bits | |
9a281e83 | 41 | }; |
42 | AliTRDcheckESD(); | |
43 | virtual ~AliTRDcheckESD(); | |
44 | ||
965e895b | 45 | void ConnectInputData(Option_t *); |
46 | void CreateOutputObjects(); | |
ea4502f6 | 47 | TGraphErrors* GetGraph(Int_t id, Option_t *opt="bc"); |
965e895b | 48 | void Exec(Option_t *); |
9a281e83 | 49 | |
965e895b | 50 | Bool_t HasMC() const { return TESTBIT(fStatus, kMC);} |
c2fd5953 | 51 | TObjArray* Histos(); |
965e895b | 52 | Bool_t Load(const Char_t *fn, const Char_t *name=0x0); |
53 | void SetMC(Bool_t mc = kTRUE) { mc ? SETBIT(fStatus, kMC) : CLRBIT(fStatus, kMC);} | |
59589fc9 | 54 | Bool_t PutTrendValue(const Char_t *name, Double_t val, Double_t err); |
965e895b | 55 | void Terminate(Option_t *); |
9a281e83 | 56 | |
965e895b | 57 | static const Int_t fgkNgraphs; |
58 | static const Float_t fgkxTPC; | |
59 | static const Float_t fgkxTOF; | |
9a281e83 | 60 | |
61 | private: | |
62 | AliTRDcheckESD(const AliTRDcheckESD&); | |
63 | AliTRDcheckESD& operator=(const AliTRDcheckESD&); | |
965e895b | 64 | void Process(TH1 **h, TGraphErrors *g); |
e9ed5db1 | 65 | void PrintStatus(ULong_t s); |
965e895b | 66 | |
9a281e83 | 67 | Int_t fStatus; // bit mask for controlling the task |
68 | AliESDEvent *fESD; // ESD event | |
69 | AliMCEvent *fMC; // MC event | |
70 | TObjArray *fHistos; // QA histos | |
59589fc9 | 71 | static FILE *fgFile; //! trend file streamer |
72 | ClassDef(AliTRDcheckESD, 2) // user oriented TRD analysis based on ESD-MC data | |
9a281e83 | 73 | }; |
74 | #endif |