1 ////////////////////////////////////////////////////////////////////////////////
3 /// AliFemtoModelCorrFctnTrueQ - 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(AliFemtoModelCorrFctnTrueQ, 1)
13 #include "AliFemtoModelGausLCMSFreezeOutGenerator.h"
14 #include "AliFemtoModelHiddenInfo.h"
15 #include "AliFemtoModelCorrFctnTrueQ.h"
17 //_______________________
18 AliFemtoModelCorrFctnTrueQ::AliFemtoModelCorrFctnTrueQ():
19 AliFemtoModelCorrFctn(),
23 // default constructor
25 char title[100] = "CFTrueQ";
26 snprintf(buf , 100, "%sNum", title);
27 fTrueNum = new TH1D(buf,buf,100,0.0,0.4);
28 snprintf(buf , 100, "%sDen", title);
29 fTrueDen = new TH1D(buf,buf,100,0.0,0.4);
34 //_______________________
35 AliFemtoModelCorrFctnTrueQ::AliFemtoModelCorrFctnTrueQ(const char *title, Int_t aNbins, Double_t aQinvLo, Double_t aQinvHi):
36 AliFemtoModelCorrFctn(title, aNbins, aQinvLo, aQinvHi),
42 snprintf(buf , 100, "%sTrueQNum", title);
43 fTrueNum = new TH1D(buf,buf,aNbins,aQinvLo,aQinvHi);
44 snprintf(buf , 100, "%sTrueQDen", title);
45 fTrueDen = new TH1D(buf,buf,aNbins,aQinvLo,aQinvHi);
50 //_______________________
51 AliFemtoModelCorrFctnTrueQ::AliFemtoModelCorrFctnTrueQ(const AliFemtoModelCorrFctnTrueQ& aCorrFctn):
52 AliFemtoModelCorrFctn(aCorrFctn),
57 fTrueNum = new TH1D(*aCorrFctn.fTrueNum);
58 fTrueDen = new TH1D(*aCorrFctn.fTrueDen);
60 //_______________________
61 AliFemtoModelCorrFctnTrueQ::~AliFemtoModelCorrFctnTrueQ()
64 if (fTrueNum) delete fTrueNum;
65 if (fTrueDen) delete fTrueDen;
66 if (fNumeratorTrue) delete fNumeratorTrue;
67 if (fNumeratorFake) delete fNumeratorFake;
68 if (fDenominator) delete fDenominator;
71 //_______________________
72 AliFemtoModelCorrFctnTrueQ& AliFemtoModelCorrFctnTrueQ::operator=(const AliFemtoModelCorrFctnTrueQ& aCorrFctn)
74 // assignment operator
75 if (this == &aCorrFctn)
77 if (aCorrFctn.fTrueNum)
78 fTrueNum = new TH1D (*aCorrFctn.fTrueNum);
80 if (aCorrFctn.fTrueDen)
81 fTrueDen = new TH1D(*aCorrFctn.fTrueDen);
86 //_______________________
87 AliFemtoString AliFemtoModelCorrFctnTrueQ::Report()
90 AliFemtoString tStr = "AliFemtoModelCorrFctnTrueQ report";
95 //_______________________
96 void AliFemtoModelCorrFctnTrueQ::AddRealPair(AliFemtoPair* aPair)
98 // add real (effect) pair
99 AliFemtoModelCorrFctn::AddRealPair(aPair);
100 fTrueNum->Fill(fManager->GetWeightGenerator()->GetKStar()*2);
102 //_______________________
103 void AliFemtoModelCorrFctnTrueQ::AddMixedPair(AliFemtoPair* aPair)
105 // add mixed (background) pair
106 AliFemtoModelCorrFctn::AddMixedPair(aPair);
107 // save the generated positions
108 fTrueDen->Fill(fManager->GetWeightGenerator()->GetKStar()*2);
110 //_______________________
111 void AliFemtoModelCorrFctnTrueQ::Write()
113 // write out all the histograms
117 AliFemtoModelCorrFctn::Write();
119 //_______________________
120 TList* AliFemtoModelCorrFctnTrueQ::GetOutputList()
122 // Prepare the list of objects to be written to the output
123 TList *tOutputList = AliFemtoModelCorrFctn::GetOutputList();
125 tOutputList->Add(fTrueNum);
126 tOutputList->Add(fTrueDen);
130 //_______________________
131 AliFemtoModelCorrFctn* AliFemtoModelCorrFctnTrueQ::Clone()
133 // Clone the correlation function
134 AliFemtoModelCorrFctnTrueQ *tCopy = new AliFemtoModelCorrFctnTrueQ(*this);