1 ////////////////////////////////////////////////////////////////////////////////
3 /// AliFemtoModelCorrFctnSource - the class for correlation function which ///
4 /// uses the model framework and weight generation and saves the generated ///
5 /// emission source ///
6 /// Authors: Adam Kisiel, kisiel@mps.ohio-state.edu ///
8 ////////////////////////////////////////////////////////////////////////////////
10 ClassImp(AliFemtoModelCorrFctnSource, 1)
13 #include "Model/AliFemtoModelGausLCMSFreezeOutGenerator.h"
14 #include "Model/AliFemtoModelHiddenInfo.h"
15 #include "Model/AliFemtoModelCorrFctnSource.h"
17 //_______________________
18 AliFemtoModelCorrFctnSource::AliFemtoModelCorrFctnSource():
19 AliFemtoModelCorrFctn(),
27 //_______________________
28 AliFemtoModelCorrFctnSource::AliFemtoModelCorrFctnSource(const char *title, Int_t aNbins, Double_t aQinvLo, Double_t aQinvHi):
29 AliFemtoModelCorrFctn(title, aNbins, aQinvLo, aQinvHi),
37 sprintf(buf, "%sOut", title);
38 fHistROut = new TH1D(buf,buf,100,-50.0,50.0);
39 sprintf(buf, "%sSide", title);
40 fHistRSide = new TH1D(buf,buf,100,-50.0,50.0);
41 sprintf(buf, "%sLong", title);
42 fHistRLong = new TH1D(buf,buf,100,-50.0,50.0);
43 sprintf(buf, "%sInv", title);
44 fHistRStar = new TH1D(buf,buf,100,-50.0,50.0);
45 sprintf(buf, "%sdNdR", title);
46 fHistdNdR = new TH1D(buf,buf,100,-50.0,50.0);
54 //_______________________
55 AliFemtoModelCorrFctnSource::AliFemtoModelCorrFctnSource(const AliFemtoModelCorrFctnSource& aCorrFctn):
56 AliFemtoModelCorrFctn(aCorrFctn),
63 fHistROut = new TH1D (*aCorrFctn.fHistROut);
64 fHistRSide = new TH1D(*aCorrFctn.fHistRSide);
65 fHistRLong = new TH1D(*aCorrFctn.fHistRLong);
66 fHistRStar = new TH1D(*aCorrFctn.fHistRStar);
67 fHistdNdR = new TH1D(*aCorrFctn.fHistdNdR);
69 //_______________________
70 AliFemtoModelCorrFctnSource::~AliFemtoModelCorrFctnSource()
72 if (fHistROut) delete fHistROut;
73 if (fHistRSide) delete fHistRSide;
74 if (fHistRLong) delete fHistRLong;
75 if (fHistRStar) delete fHistRStar;
76 if (fHistdNdR) delete fHistdNdR;
77 if (fNumeratorTrue) delete fNumeratorTrue;
78 if (fNumeratorFake) delete fNumeratorFake;
79 if (fDenominator) delete fDenominator;
82 //_______________________
83 AliFemtoModelCorrFctnSource& AliFemtoModelCorrFctnSource::operator=(const AliFemtoModelCorrFctnSource& aCorrFctn)
85 if (this == &aCorrFctn)
87 if (aCorrFctn.fHistROut)
88 fHistROut = new TH1D (*aCorrFctn.fHistROut);
90 if (aCorrFctn.fHistRSide)
91 fHistRSide = new TH1D(*aCorrFctn.fHistRSide);
93 if (aCorrFctn.fHistRLong)
94 fHistRLong = new TH1D(*aCorrFctn.fHistRLong);
96 if (aCorrFctn.fHistRStar)
97 fHistRStar = new TH1D(*aCorrFctn.fHistRStar);
99 if (aCorrFctn.fHistdNdR)
100 fHistdNdR = new TH1D(*aCorrFctn.fHistdNdR);
105 //_______________________
106 AliFemtoString AliFemtoModelCorrFctnSource::Report()
108 AliFemtoString tStr = "AliFemtoModelCorrFctnSource report";
113 //_______________________
114 void AliFemtoModelCorrFctnSource::AddRealPair(AliFemtoPair* aPair)
116 AliFemtoModelCorrFctn::AddRealPair(aPair);
118 //_______________________
119 void AliFemtoModelCorrFctnSource::AddMixedPair(AliFemtoPair* aPair)
121 AliFemtoModelCorrFctn::AddMixedPair(aPair);
122 fHistROut->Fill (fManager->GetWeightGenerator()->GetRStarOut());
123 fHistRSide->Fill(fManager->GetWeightGenerator()->GetRStarSide());
124 fHistRLong->Fill(fManager->GetWeightGenerator()->GetRStarLong());
125 fHistRStar->Fill(fManager->GetWeightGenerator()->GetRStar());
126 fHistdNdR->Fill (fManager->GetWeightGenerator()->GetRStar(),1.0/(fManager->GetWeightGenerator()->GetRStar()*fManager->GetWeightGenerator()->GetRStar()));
128 //_______________________
129 void AliFemtoModelCorrFctnSource::Write()
137 AliFemtoModelCorrFctn::Write();
139 //_______________________
140 AliFemtoModelCorrFctnSource* AliFemtoModelCorrFctnSource::Clone()
142 AliFemtoModelCorrFctnSource *tCopy = new AliFemtoModelCorrFctnSource(*this);