]>
Commit | Line | Data |
---|---|---|
ddd1a033 | 1 | #ifndef ALITRDCHECKESD_H |
2 | #define ALITRDCHECKESD_H | |
9a281e83 | 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 | ||
ddd1a033 | 8 | ///////////////////////////////////////////////////// |
9 | // | |
10 | // Check basic detector results at ESD level | |
11 | // | |
12 | // Author | |
13 | // Alex Bercuci <A.Bercuci@gsi.de> | |
14 | // | |
15 | ////////////////////////////////////////////////////// | |
9a281e83 | 16 | |
17 | #ifndef ALIANALYSISTASK_H | |
18 | #include "AliAnalysisTask.h" | |
19 | #endif | |
20 | ||
21 | class AliESDEvent; | |
22 | class AliMCEvent; | |
873458ab | 23 | class TH1; |
9a281e83 | 24 | class TObjArray; |
eede30c8 | 25 | class TGraph; |
965e895b | 26 | class TGraphErrors; |
9a281e83 | 27 | class AliTRDcheckESD : public AliAnalysisTask { |
28 | public: | |
29 | enum ETRDcheckESDstatus { | |
30 | kMC = BIT(0) | |
31 | }; | |
32 | enum ETRDcheckESDhistos { | |
eede30c8 | 33 | kNCl = 0 // number of clusters per track |
34 | ,kTRDstat // TRD tracks status | |
35 | ,kTRDmom // TRD track momentum | |
965e895b | 36 | ,kNhistos = 3 // number of histograms |
eede30c8 | 37 | ,kNgraphs = 6 // number of graphs |
d12237d6 | 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 | |
9a281e83 | 46 | }; |
47 | AliTRDcheckESD(); | |
48 | virtual ~AliTRDcheckESD(); | |
49 | ||
965e895b | 50 | void ConnectInputData(Option_t *); |
51 | void CreateOutputObjects(); | |
bbe8aaad | 52 | Bool_t GetRefFigure(Int_t ifig); |
965e895b | 53 | void Exec(Option_t *); |
9a281e83 | 54 | |
965e895b | 55 | Bool_t HasMC() const { return TESTBIT(fStatus, kMC);} |
56 | Bool_t Load(const Char_t *fn, const Char_t *name=0x0); | |
57 | void SetMC(Bool_t mc = kTRUE) { mc ? SETBIT(fStatus, kMC) : CLRBIT(fStatus, kMC);} | |
5e17c62a | 58 | Bool_t PutTrendValue(const Char_t *name, Double_t val); |
965e895b | 59 | void Terminate(Option_t *); |
9a281e83 | 60 | |
9a281e83 | 61 | private: |
ddd1a033 | 62 | static const Float_t fgkxTPC; // end radial position of TPC |
63 | static const Float_t fgkxTOF; // start radial position of TOF | |
64 | ||
9a281e83 | 65 | AliTRDcheckESD(const AliTRDcheckESD&); |
66 | AliTRDcheckESD& operator=(const AliTRDcheckESD&); | |
bbe8aaad | 67 | TGraph* GetGraph(Int_t id, Option_t *opt="bc"); |
68 | TObjArray* Histos(); | |
965e895b | 69 | void Process(TH1 **h, TGraphErrors *g); |
e9ed5db1 | 70 | void PrintStatus(ULong_t s); |
965e895b | 71 | |
9a281e83 | 72 | Int_t fStatus; // bit mask for controlling the task |
73 | AliESDEvent *fESD; // ESD event | |
74 | AliMCEvent *fMC; // MC event | |
75 | TObjArray *fHistos; // QA histos | |
eede30c8 | 76 | TObjArray *fResults; // QA graphs |
59589fc9 | 77 | static FILE *fgFile; //! trend file streamer |
eede30c8 | 78 | ClassDef(AliTRDcheckESD, 3) // user oriented TRD analysis based on ESD-MC data |
9a281e83 | 79 | }; |
80 | #endif |