]>
Commit | Line | Data |
---|---|---|
00114ecb | 1 | //////////////////////////////////////////////////////////////////////////////// |
2 | // // | |
3 | // AliFemtoCutMonitorEventMult - the cut monitor for particles to study // | |
4 | // the difference between reconstructed and true momentum // | |
5 | // // | |
6 | //////////////////////////////////////////////////////////////////////////////// | |
7 | #include "AliFemtoCutMonitorEventMult.h" | |
8 | #include "AliFemtoModelHiddenInfo.h" | |
9 | #include "AliFemtoEvent.h" | |
10 | #include <TH1D.h> | |
11 | #include <TH2D.h> | |
12 | #include <TList.h> | |
13 | ||
14 | AliFemtoCutMonitorEventMult::AliFemtoCutMonitorEventMult(): | |
73695088 | 15 | fEvMult(0), |
e2b7a66d | 16 | fNormEvMult(0), |
782723e1 | 17 | fSPDMult(0), |
18 | fMultSumPt(0) | |
00114ecb | 19 | { |
20 | // Default constructor | |
21 | fEvMult = new TH1D("EvMult", "Event Multiplicity", 5001, -0.5, 5000.5); | |
782723e1 | 22 | fMultSumPt = new TH2D("EvMultSumPt","Event Multiplicity vs Total pT",5001,-0.5,5000.5,1000,0.0,100.0); |
00114ecb | 23 | } |
24 | ||
25 | AliFemtoCutMonitorEventMult::AliFemtoCutMonitorEventMult(const char *aName): | |
26 | AliFemtoCutMonitor(), | |
73695088 | 27 | fEvMult(0), |
e2b7a66d | 28 | fNormEvMult(0), |
782723e1 | 29 | fSPDMult(0), |
30 | fMultSumPt(0) | |
00114ecb | 31 | { |
32 | // Normal constructor | |
33 | char name[200]; | |
34 | snprintf(name, 200, "EvMult%s", aName); | |
35 | fEvMult = new TH1D(name, "Event Multiplicity", 5001, -0.5, 5000.5); | |
73695088 | 36 | |
37 | snprintf(name, 200, "NormEvMult%s", aName); | |
38 | fNormEvMult = new TH1D(name, "Normalized Event Multiplicity", 5001, -0.5, 5000.5); | |
e2b7a66d | 39 | |
40 | snprintf(name, 200, "SPDEvMult%s", aName); | |
41 | fSPDMult = new TH1D(name, "SPD Tracklet Multiplicity", 5001, -0.5, 5000.5); | |
782723e1 | 42 | |
43 | snprintf(name, 200, "EvMultTotPt%s", aName); | |
44 | fMultSumPt = new TH2D(name,"Event Multiplicity vs Total pT",5001,-0.5,5000.5,1000,0.0,100.0); | |
00114ecb | 45 | } |
46 | ||
47 | AliFemtoCutMonitorEventMult::AliFemtoCutMonitorEventMult(const AliFemtoCutMonitorEventMult &aCut): | |
48 | AliFemtoCutMonitor(), | |
73695088 | 49 | fEvMult(0), |
e2b7a66d | 50 | fNormEvMult(0), |
782723e1 | 51 | fSPDMult(0), |
52 | fMultSumPt(0) | |
00114ecb | 53 | { |
54 | // copy constructor | |
55 | if (fEvMult) delete fEvMult; | |
56 | fEvMult = new TH1D(*aCut.fEvMult); | |
73695088 | 57 | |
58 | if (fNormEvMult) delete fNormEvMult; | |
59 | fNormEvMult = new TH1D(*aCut.fNormEvMult); | |
e2b7a66d | 60 | |
61 | if (fSPDMult) delete fSPDMult; | |
62 | fSPDMult = new TH1D(*aCut.fSPDMult); | |
782723e1 | 63 | |
64 | if (fMultSumPt) delete fMultSumPt; | |
65 | fMultSumPt = new TH2D(*aCut.fMultSumPt); | |
00114ecb | 66 | } |
67 | ||
68 | AliFemtoCutMonitorEventMult::~AliFemtoCutMonitorEventMult() | |
69 | { | |
70 | // Destructor | |
71 | delete fEvMult; | |
73695088 | 72 | delete fNormEvMult; |
e2b7a66d | 73 | delete fSPDMult; |
782723e1 | 74 | delete fMultSumPt; |
00114ecb | 75 | } |
76 | ||
77 | AliFemtoCutMonitorEventMult& AliFemtoCutMonitorEventMult::operator=(const AliFemtoCutMonitorEventMult& aCut) | |
78 | { | |
79 | // assignment operator | |
80 | if (this == &aCut) | |
81 | return *this; | |
82 | ||
83 | if (fEvMult) delete fEvMult; | |
84 | fEvMult = new TH1D(*aCut.fEvMult); | |
85 | ||
73695088 | 86 | if (fNormEvMult) delete fNormEvMult; |
87 | fNormEvMult = new TH1D(*aCut.fNormEvMult); | |
88 | ||
e2b7a66d | 89 | if (fSPDMult) delete fSPDMult; |
90 | fSPDMult = new TH1D(*aCut.fSPDMult); | |
91 | ||
782723e1 | 92 | if (fMultSumPt) delete fMultSumPt; |
93 | fMultSumPt = new TH2D(*aCut.fMultSumPt); | |
94 | ||
00114ecb | 95 | return *this; |
96 | } | |
97 | ||
98 | AliFemtoString AliFemtoCutMonitorEventMult::Report(){ | |
99 | // Prepare report from the execution | |
100 | string stemp = "*** AliFemtoCutMonitorEventMult report"; | |
101 | AliFemtoString returnThis = stemp; | |
102 | return returnThis; | |
103 | } | |
104 | ||
105 | void AliFemtoCutMonitorEventMult::Fill(const AliFemtoEvent* aEvent) | |
106 | { | |
107 | // Fill in the monitor histograms with the values from the current track | |
108 | fEvMult->Fill(aEvent->NumberOfTracks()); | |
73695088 | 109 | fNormEvMult->Fill(aEvent->UncorrectedNumberOfPrimaries()); |
e2b7a66d | 110 | fSPDMult->Fill(aEvent->SPDMultiplicity()); |
782723e1 | 111 | fMultSumPt->Fill(aEvent->UncorrectedNumberOfPrimaries(), aEvent->ZDCEMEnergy()); |
00114ecb | 112 | } |
113 | ||
114 | void AliFemtoCutMonitorEventMult::Write() | |
115 | { | |
116 | // Write out the relevant histograms | |
117 | fEvMult->Write(); | |
73695088 | 118 | fNormEvMult->Write(); |
e2b7a66d | 119 | fSPDMult->Write(); |
782723e1 | 120 | fMultSumPt->Write(); |
00114ecb | 121 | } |
122 | ||
123 | TList *AliFemtoCutMonitorEventMult::GetOutputList() | |
124 | { | |
125 | TList *tOutputList = new TList(); | |
126 | tOutputList->Add(fEvMult); | |
73695088 | 127 | tOutputList->Add(fNormEvMult); |
e2b7a66d | 128 | tOutputList->Add(fSPDMult); |
782723e1 | 129 | tOutputList->Add(fMultSumPt); |
00114ecb | 130 | return tOutputList; |
131 | } |