]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/RESONANCES/AliRsnComparisonObj.h
removed external class
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnComparisonObj.h
CommitLineData
aec0ec32 1//
2// *** Class AliRsnComparisonObj ***
3//
4// TODO
5//
6// authors: A. Pulvirenti (email: alberto.pulvirenti@ct.infn.it)
7// M. Vala (email: martin.vala@cern.ch)
8//
9
10#ifndef ALIRSNCOMPARISONOBJ_H
11#define ALIRSNCOMPARISONOBJ_H
12
13#include <TNamed.h>
14#include <TList.h>
15#include <TH1.h>
16
17#include "AliMCEvent.h"
18#include "AliESDtrack.h"
19#include "AliMCParticle.h"
20
21#include "AliRsnPID.h"
22
23class AliRsnComparisonObj : public TNamed
24{
25 public:
26
27 enum EFormat
28 {
29 kRSN=0,
30 kESD,
31 kMC,
32 kLastFormat
33 };
34
35 enum EComparisonType
36 {
37 kParticleInfo=0,
38 kPid,
39 kLastComparisonType
40 };
41
42 enum EParameterType
43 {
44 kP = 0,
45 kPt,
46 kEta,
47 kY,
48 kLastParameterType
49 };
e0baff8c 50
aec0ec32 51 enum EHistoType
52 {
53 kIndent=0,
54 kGood,
55 kFake,
56 kTrue,
57 kLastHistoType
58 };
59
60 enum EPIDType
61 {
62 kEsd=0,
63 kITS,
64 kTPC,
65 kTOF,
66 kITS_TPC,
67 kITS_TOF,
68 kTPC_TOF,
69 kITS_TPC_TOF,
70 kITS_TPC_TOF_SP,
71 kLastPIDType
72 };
73
74 AliRsnComparisonObj(const char*name="RSN");
75 ~AliRsnComparisonObj();
76
77 TList *GenerateParticleInfoHistogramList(TString prefix="");
78 TList *GeneratePIDHistogramList(TString prefix="");
79 void FillPIDHistograms(AliRsnDaughter *daughter);
80 void FillPIDHistograms(AliESDtrack *track,AliMCEvent *mc=0);
81 void FillPIDHistograms(AliMCParticle *mctrack);
e0baff8c 82
aec0ec32 83 void FillHistograms(AliMCParticle *mctrack);
84
85 void SetCurrentESDPID(const EPIDType& type,const Double_t&divValue = 0.0);
86 void SetPriorProbs(Double_t* pid) { for (Int_t i=0; i<5; i++) fPriorProbs[i]=pid[i]; }
87
88 void SetESDstatus(const ULong_t status);
89 void SetESDTrackQualityCuts(const Int_t& its=-1,const Int_t& tpc=-1,const Int_t& trd=-1);
90 private:
e0baff8c 91
92 AliRsnComparisonObj(const AliRsnComparisonObj& copy)
93 : TNamed(copy),fCurrentComparisonType(kParticleInfo),fCurrentESDPID(kEsd),
94 fESDstatus(0),fITSClusters(0),fTPCClusters(0),fTRDClusters(0),fPIDDivValue(0.) {}
aec0ec32 95 const AliRsnComparisonObj& operator=(const AliRsnComparisonObj&) {return *this;}
96
97 EComparisonType fCurrentComparisonType;
98 EPIDType fCurrentESDPID;
99 Double_t fPriorProbs[5];
100 ULong_t fESDstatus;
101 Int_t fITSClusters;
102 Int_t fTPCClusters;
103 Int_t fTRDClusters;
e0baff8c 104
aec0ec32 105 Double_t fPIDDivValue;
106
107 TH1D *fHistosPartInfo[kLastParameterType][2][AliRsnPID::kSpeciesAll];
108 TH1D *fHistosPID[kLastFormat][kLastHistoType][AliRsnPID::kSpecies+1];
e0baff8c 109
aec0ec32 110 TString GetFormatName(EFormat type);
111 TString GetHistoTypeName(EHistoType type);
112
113 void GetESDPID(AliESDtrack *track,Double_t *pid,Double_t p=-1.0);
114 TString GetParameterName(EParameterType type);
115 Double_t GetParameterNameValue(EParameterType type,AliMCParticle * mctrack);
116
117 ClassDef(AliRsnComparisonObj, 1)
118};
119
120#endif