]>
Commit | Line | Data |
---|---|---|
0ed6f095 | 1 | #ifndef ALITRDV0MONITOR_H |
2 | #define ALITRDV0MONITOR_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 | // | |
9 | // Monitor V0 for TRD | |
10 | // | |
11 | // Authors: | |
12 | // Markus Heide <mheide@uni-muenster.de> | |
13 | ////////////////////////////////////////////////////// | |
14 | ||
15 | #ifndef ALITRDRECOTASK_H | |
16 | #include "AliTRDrecoTask.h" | |
17 | #endif | |
18 | #ifndef ALIPID_H | |
19 | #include "AliPID.h" | |
20 | #endif | |
21 | #ifndef ALITRDV0INFO_H | |
22 | #include "info/AliTRDv0Info.h" | |
23 | #endif | |
24 | ||
25 | class TTree; | |
26 | class TList; | |
27 | class TH2F; | |
28 | class TH1I; | |
29 | class TObjArray; | |
30 | ||
31 | ||
32 | class AliTRDv0Monitor : public AliTRDrecoTask | |
33 | { | |
34 | public: | |
35 | enum ETRDv0Monitor { | |
36 | kNSamples = 3 | |
37 | ,kNPlots = 13 // Number of plots for this task | |
38 | ,kNCutSteps = 3 | |
39 | ,kNDets = 3 | |
40 | }; | |
41 | ||
42 | AliTRDv0Monitor(); | |
43 | AliTRDv0Monitor(const char *name, const char *title); | |
0ed6f095 | 44 | virtual ~AliTRDv0Monitor(); |
129a3fe2 | 45 | |
46 | Bool_t GetRefFigure(Int_t ifig); | |
0ed6f095 | 47 | void UserCreateOutputObjects(); |
48 | void UserExec(Option_t *option); | |
fa6441b5 | 49 | void MakeSummary(); |
0ed6f095 | 50 | |
0ed6f095 | 51 | |
52 | ||
53 | ||
54 | protected: | |
fa6441b5 | 55 | |
56 | TList *fOutput; //! Container for output histos | |
57 | ||
58 | TH1I *fhCutReductions[AliPID::kSPECIES];//histo for sample reductions by each ID cut | |
59 | TH1I *fhQualityReductions;//histo for sample reductions by each quality cut | |
60 | TH2F *fhV0Chi2ndf[AliTRDv0Info::kNDecays][kNCutSteps];//Chi2/ndf distributions before cuts, after inv. mass cut, after all cuts (same for all arrays below!!!) | |
61 | TH2F *fhInvMass[AliTRDv0Info::kNDecays];//invariant mass distributions | |
62 | TH2F *fhPsiPair[AliTRDv0Info::kNDecays][kNCutSteps];//Psi_pair angle distributions | |
63 | TH2F *fhPointAngle[AliTRDv0Info::kNDecays][kNCutSteps];//pointing angle | |
64 | TH2F *fhDCA[AliTRDv0Info::kNDecays][kNCutSteps];//Distance of closest approach between daughters | |
65 | TH2F *fhOpenAngle[AliTRDv0Info::kNDecays][kNCutSteps];//opening angle between daughters | |
66 | TH2F *fhDetPID[kNDets][AliPID::kSPECIES];//likelihood outputs from different detectors | |
67 | TH2F *fhComPID[AliPID::kSPECIES];//combined PID from TPC and TOF | |
68 | TH2F *fhRadius[AliTRDv0Info::kNDecays][kNCutSteps];//radial distance of secondary vertex to primary vertex | |
69 | TH2F *fhTPCdEdx[AliPID::kSPECIES][kNCutSteps];//energy deposition in TPC | |
70 | ||
71 | ||
0ed6f095 | 72 | |
73 | TObjArray *fV0s; //! v0 array | |
74 | TTree *fData; //! dEdx-P data | |
75 | TObjArray *fInfo; //! list of PID info | |
76 | ||
77 | Float_t fP; // momentum | |
78 | ||
79 | Float_t fPID[AliPID::kSPECIES]; // pid from v0s | |
80 | //Int_t GetPDG(Int_t index); // PDG information from MC | |
81 | ||
82 | private: | |
83 | AliTRDv0Monitor(const AliTRDv0Monitor&); // not implemented | |
84 | AliTRDv0Monitor& operator=(const AliTRDv0Monitor&); // not implemented | |
85 | ||
86 | ClassDef(AliTRDv0Monitor, 3); // V0 Monitor | |
87 | }; | |
88 | ||
89 | #endif |