]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/FEMTOSCOPY/AliFemto/AliFemtoCutMonitorEventMult.cxx
V0 rescaling in MC and multiple bins in correct.C
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / AliFemtoCutMonitorEventMult.cxx
CommitLineData
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
14AliFemtoCutMonitorEventMult::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
25AliFemtoCutMonitorEventMult::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
47AliFemtoCutMonitorEventMult::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
68AliFemtoCutMonitorEventMult::~AliFemtoCutMonitorEventMult()
69{
70 // Destructor
71 delete fEvMult;
73695088 72 delete fNormEvMult;
e2b7a66d 73 delete fSPDMult;
782723e1 74 delete fMultSumPt;
00114ecb 75}
76
77AliFemtoCutMonitorEventMult& 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
98AliFemtoString AliFemtoCutMonitorEventMult::Report(){
99 // Prepare report from the execution
100 string stemp = "*** AliFemtoCutMonitorEventMult report";
101 AliFemtoString returnThis = stemp;
102 return returnThis;
103}
104
105void 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
114void 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
123TList *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}