]>
Commit | Line | Data |
---|---|---|
7bff3766 | 1 | /************************************************************************** |
2 | * Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. * | |
3 | * * | |
4 | * Author: The ALICE Off-line Project. * | |
5 | * Contributors are mentioned in the code where appropriate. * | |
6 | * * | |
7 | * Permission to use, copy, modify and distribute this software and its * | |
8 | * documentation strictly for non-commercial purposes is hereby granted * | |
9 | * without fee, provided that the above copyright notice appears in all * | |
10 | * copies and that both the copyright notice and this permission notice * | |
11 | * appear in the supporting documentation. The authors make no claims * | |
12 | * about the suitability of this software for any purpose. It is * | |
13 | * provided "as is" without express or implied warranty. * | |
14 | **************************************************************************/ | |
15 | ||
16 | /////////////////////////////////////////////////////////////////////////////// | |
17 | // // | |
18 | // Class with ZDC reconstruction parameters // | |
19 | // Origin: Chiara.Oppedisano@to.infn.it // | |
20 | // // | |
21 | /////////////////////////////////////////////////////////////////////////////// | |
22 | ||
73bc3a3f | 23 | #include <TFile.h> |
24 | #include <TTree.h> | |
25 | #include <TH2F.h> | |
26 | #include <TH1D.h> | |
7bff3766 | 27 | |
7bff3766 | 28 | #include "AliZDCRecoParam.h" |
29 | #include "AliZDCRecoParamPbPb.h" | |
30 | ||
31 | ClassImp(AliZDCRecoParamPbPb) | |
32 | ||
33 | //_____________________________________________________________________________ | |
34 | AliZDCRecoParamPbPb::AliZDCRecoParamPbPb() : | |
35 | AliZDCRecoParam(), | |
73bc3a3f | 36 | fhZDCvsZEM(0x0), |
37 | fhZDCCvsZEM(0x0), | |
38 | fhZDCAvsZEM(0x0), | |
39 | fhNpartDist(0x0), | |
40 | fhbDist(0x0), | |
41 | fClkCenter(0) | |
7bff3766 | 42 | { |
43 | // | |
44 | //Default constructor | |
45 | } | |
46 | //_____________________________________________________________________________ | |
73bc3a3f | 47 | AliZDCRecoParamPbPb::AliZDCRecoParamPbPb(TH2F *hZDCvsZEM, TH2F *hZDCCvsZEM, TH2F *hZDCAvsZEM) : |
48 | AliZDCRecoParam(), | |
49 | fhZDCvsZEM(hZDCvsZEM), | |
50 | fhZDCCvsZEM(hZDCCvsZEM), | |
51 | fhZDCAvsZEM(hZDCAvsZEM), | |
52 | fhNpartDist(0x0), | |
53 | fhbDist(0x0), | |
54 | fClkCenter(0.1) | |
7bff3766 | 55 | { |
73bc3a3f | 56 | // |
57 | //Standard constructor | |
58 | SetGlauberMCDist(); | |
59 | } | |
60 | //_____________________________________________________________________________ | |
61 | AliZDCRecoParamPbPb::AliZDCRecoParamPbPb(TH2F *hZDCvsZEM, TH2F *hZDCCvsZEM, TH2F *hZDCAvsZEM, | |
62 | TH1D *hNpart, TH1D *hb, Float_t clkCent) : | |
63 | AliZDCRecoParam(), | |
64 | fhZDCvsZEM(hZDCvsZEM), | |
65 | fhZDCCvsZEM(hZDCCvsZEM), | |
66 | fhZDCAvsZEM(hZDCAvsZEM), | |
67 | fhNpartDist(hNpart), | |
68 | fhbDist(hb), | |
69 | fClkCenter(clkCent) | |
70 | { | |
71 | // | |
72 | //Standard constructor | |
73 | } | |
7bff3766 | 74 | |
73bc3a3f | 75 | //______________________________________________________________________________ |
76 | AliZDCRecoParamPbPb::AliZDCRecoParamPbPb(const AliZDCRecoParamPbPb &oldrecopar) : | |
77 | AliZDCRecoParam(), | |
78 | fhZDCvsZEM(0x0), | |
79 | fhZDCCvsZEM(0x0), | |
80 | fhZDCAvsZEM(0x0), | |
81 | fhNpartDist(0x0), | |
82 | fhbDist(0x0), | |
83 | fClkCenter(oldrecopar.fClkCenter) | |
84 | { | |
85 | //Copy constructor | |
86 | if(oldrecopar.fhZDCvsZEM){ | |
87 | fhZDCvsZEM = new TH2F(*oldrecopar.fhZDCvsZEM); | |
88 | fhZDCvsZEM->SetDirectory(0); | |
89 | } | |
90 | if(oldrecopar.fhZDCCvsZEM){ | |
91 | fhZDCCvsZEM = new TH2F(*oldrecopar.fhZDCCvsZEM); | |
92 | fhZDCCvsZEM->SetDirectory(0); | |
93 | } | |
94 | if(oldrecopar.fhZDCAvsZEM){ | |
95 | fhZDCAvsZEM = new TH2F(*oldrecopar.fhZDCAvsZEM); | |
96 | fhZDCAvsZEM->SetDirectory(0); | |
97 | } | |
98 | if(oldrecopar.fhNpartDist){ | |
99 | fhNpartDist = new TH1D(*oldrecopar.fhNpartDist); | |
100 | fhNpartDist->SetDirectory(0); | |
101 | } | |
102 | if(oldrecopar.fhbDist){ | |
103 | fhbDist = new TH1D(*oldrecopar.fhbDist); | |
104 | fhbDist->SetDirectory(0); | |
105 | } | |
106 | } | |
db0907f4 | 107 | |
108 | //_____________________________________________________________________________ | |
109 | AliZDCRecoParamPbPb &AliZDCRecoParamPbPb::operator =(const AliZDCRecoParamPbPb &recpar) | |
110 | { | |
213a7d34 | 111 | // Equal operator. |
112 | this->~AliZDCRecoParamPbPb(); | |
113 | new(this) AliZDCRecoParamPbPb(recpar); | |
114 | return *this; | |
115 | ||
db0907f4 | 116 | } |
73bc3a3f | 117 | |
118 | //_____________________________________________________________________________ | |
119 | AliZDCRecoParamPbPb::~AliZDCRecoParamPbPb() | |
120 | { | |
121 | // destructor | |
7bff3766 | 122 | |
73bc3a3f | 123 | if(fhZDCvsZEM) delete fhZDCvsZEM; |
124 | if(fhZDCCvsZEM) delete fhZDCCvsZEM; | |
125 | if(fhZDCAvsZEM) delete fhZDCAvsZEM; | |
126 | if(fhNpartDist) delete fhNpartDist; | |
127 | if(fhbDist) delete fhbDist; | |
7bff3766 | 128 | } |
129 | ||
7bff3766 | 130 | //_____________________________________________________________________________ |
73bc3a3f | 131 | void AliZDCRecoParamPbPb::SetGlauberMCDist() |
7bff3766 | 132 | { |
73bc3a3f | 133 | // Setting Glauber MC distributions |
134 | // from histos file stored in $ALICE_ROOT/ZDC | |
135 | TFile * fileHistos = TFile::Open("$ALICE_ROOT/ZDC/GlauberMCHistos.root"); | |
7bff3766 | 136 | // |
73bc3a3f | 137 | fhNpartDist = (TH1D*) fileHistos->Get("hDist"); |
138 | fhNpartDist->SetDirectory(0); | |
139 | fhbDist = (TH1D*) fileHistos->Get("hbDist"); | |
140 | fhbDist->SetDirectory(0); | |
7bff3766 | 141 | |
73bc3a3f | 142 | fileHistos->Close(); |
7bff3766 | 143 | } |
1de9cc13 | 144 | |
145 | //_____________________________________________________________________________ | |
146 | AliZDCRecoParamPbPb *AliZDCRecoParamPbPb::GetHighFluxParam() | |
147 | { | |
148 | // Create high flux reco parameter | |
149 | TH1::AddDirectory(0); | |
150 | TH2::AddDirectory(0); | |
151 | // | |
152 | TFile * fileHistos = TFile::Open("$ALICE_ROOT/ZDC/GlauberMCHistos.root"); | |
153 | fileHistos->cd(); | |
154 | // | |
155 | TH2F *hZDCvsZEM = (TH2F*) fileHistos->Get("hZDCvsZEM"); | |
156 | hZDCvsZEM->SetDirectory(0); | |
157 | // | |
158 | TH2F *hZDCCvsZEM = (TH2F*) fileHistos->Get("hZDCCvsZEM"); | |
159 | hZDCCvsZEM->SetDirectory(0); | |
160 | // | |
161 | TH2F *hZDCAvsZEM = (TH2F*) fileHistos->Get("hZDCAvsZEM"); | |
162 | hZDCAvsZEM->SetDirectory(0); | |
163 | // | |
164 | TH1D* hDist = (TH1D*) fileHistos->Get("hDist"); | |
165 | hDist->SetDirectory(0); | |
166 | // | |
167 | TH1D* hbDist = (TH1D*) fileHistos->Get("hbDist"); | |
168 | hbDist->SetDirectory(0); | |
169 | ||
170 | AliZDCRecoParamPbPb* zdcRecoParam = new AliZDCRecoParamPbPb(hZDCvsZEM, hZDCCvsZEM, | |
171 | hZDCAvsZEM, hDist, hbDist, 0.1); | |
172 | // | |
173 | fileHistos->Close(); | |
174 | ||
175 | return zdcRecoParam; | |
176 | ||
177 | } |