48 if (plane != NULL )plane->
print();
67 Int_t nCl = clArray->GetEntries();
74 Double_t tmin[2],
tmax[2];
79 for(Int_t icl = 0; icl<nCl; icl++){
83 Double_t qCl = cluster->
GetQ();
85 Double_t xCl = cluster->
GetMean();
95 if(type ==
TCLUSTER && index<tmin[plane]) tmin[plane] = index;
96 if(type ==
TCLUSTER && index>tmax[plane]) tmax[plane] = index;
98 Double_t sig = cluster->
GetSig();
109 qCenter = m->
GetData(index,Int_t(xCl+0.5));
111 qCenter = m->
GetData(Int_t(xCl+0.5),index);
112 Double_t qTot = qCenter;
113 Double_t xNorm = xCl - Int_t(xCl+0.5);
114 Double_t qNorm = qCenter/qCl;
117 fHistTrf[plane]->Fill(xCl,xNorm,qCenter);
126 fHistPrf[plane]->Fill(index,xNorm,qCenter);
128 if(width<=15 && width>=2){
134 for(Int_t sign = -1; sign<2; sign += 2){
135 Double_t qold = qCenter;
137 for(Int_t j=Int_t(xCl+0.5)+sign;TMath::Abs(j-xCl)<width;j += sign){
149 if(q<=-1000)
continue;
150 if(q<qold - noise) up = kFALSE;
151 if(!up && q>qold + noise)
break;
166 fHistPrf[plane]->Fill(index,xNorm,q);
168 if(width<=15 && width>=2){
179 for(Int_t i = 0; i<2; i++){
193 Info(
"Init",
"Use default Minimum cluster size: %.0f",
fQclMin);
196 Info(
"Init",
"Minimum cluster size: %.0f",
fQclMin);
201 Double_t qmin1 = 0.01;
203 Double_t yBins1[nBinsY1+1];
204 Double_t alpha1 = TMath::Power(qmax1/qmin1,1./(nBinsY1+1));
205 Double_t qbin1 = qmin1;
206 for(Int_t bin = 0; bin <=nBinsY1; bin++){
209 yBins1[bin] = qmin1 + bin*(qmax1-qmin1)/(nBinsY1+1);
211 yBins1[nBinsY1] = qmax1;
214 Int_t nBinsY12 = 200;
215 Double_t qmin12 = 0.001;
216 Double_t qmax12 = 1.;
217 Double_t yBins12[nBinsY12+1];
218 Double_t alpha12 = TMath::Power(qmax12/qmin12,1./(nBinsY12+1));
219 Double_t qbin12 = qmin12;
220 for(Int_t bin = 0; bin <=nBinsY12; bin++){
221 yBins12[bin] = qbin12;
224 yBins12[nBinsY12] = qmax12;
228 Double_t qmax2 = 4096;
229 Double_t yBins2[nBinsY2+1];
230 Double_t alpha2 = TMath::Power(qmax2/qmin2,1./(nBinsY2+1));
231 Double_t qbin2 = qmin2;
232 for(Int_t bin = 0; bin <=nBinsY2; bin++){
239 fHistNtracks =
new TH2F(
"fHistNtracks",
";Ntr_{X};Ntr_{Y}",10,0,10,10,0,10);
240 fHistVdrift2D =
new TH2F(
"fHistVdrift2D",
";Time [t.b.];Charge [ADC]",511,0,511,1000,0,20000);
241 fHistVdrift =
new TH1F(
"fHistVdrift",
";Time [t.b.];Charge [ADC]",511,0,511);
243 Double_t xminA = 0, xmaxA = 512;
244 Double_t binsA[nbinsA+1];
245 for(Int_t i = 0; i<nbinsA; i++)
246 binsA[i] = xminA + i*(xmaxA-xminA)/(nbinsA+1);
247 binsA[nbinsA] = xmaxA;
250 Double_t xminB = -10, xmaxB = 10;
251 Double_t binsB[nbinsB+1];
252 for(Int_t i = 0; i<nbinsB; i++)
253 binsB[i] = xminB + i*(xmaxB-xminB)/(nbinsB+1);
254 binsB[nbinsB] = xmaxB;
257 Double_t xminC = -80, xmaxC = 80;
258 Double_t binsC[nbinsC+1];
259 for(Int_t i = 0; i<nbinsC; i++)
260 binsC[i] = xminC + i*(xmaxC-xminC)/(nbinsC+1);
261 binsC[nbinsC] = xmaxC;
263 fHistPrf[0] =
new TH3F(
"fHistPrfX",
";X_{pix}-X_{cl};Q_{pix}",nbinsA,binsA,nbinsB,binsB,nBinsY2,yBins2);
264 fHistPrf[1] =
new TH3F(
"fHistPrfY",
";X_{pix}-X_{cl};Q_{pix}",nbinsA,binsA,nbinsB,binsB,nBinsY2,yBins2);
265 fHistTrf[0] =
new TH3F(
"fHistTrfX",
";T_{pix}-T_{cl};Q_{pix}",nbinsA,binsA,nbinsC,binsC,nBinsY2,yBins2);
266 fHistTrf[1] =
new TH3F(
"fHistTrfY",
";T_{pix}-T_{cl};Q_{pix}",nbinsA,binsA,nbinsC,binsC,nBinsY2,yBins2);
267 fHistPrfNorm[0] =
new TH3F(
"fHistPrfNormX",
";X_{pix}-X_{cl};Q_{pix}/Q_{cl}",nbinsA,binsA,nbinsB,binsB,nBinsY1,yBins1);
268 fHistPrfNorm[1] =
new TH3F(
"fHistPrfNormY",
";X_{pix}-X_{cl};Q_{pix}/Q_{cl}",nbinsA,binsA,nbinsB,binsB,nBinsY1,yBins1);
269 fHistTrfNorm[0] =
new TH3F(
"fHistTrfNormX",
";T_{pix}-T_{cl};Q_{pix}/Q_{cl}",nbinsA,binsA,nbinsC,binsC,nBinsY12,yBins12);
270 fHistTrfNorm[1] =
new TH3F(
"fHistTrfNormY",
";T_{pix}-T_{cl};Q_{pix}/Q_{cl}",nbinsA,binsA,nbinsC,binsC,nBinsY12,yBins12);
272 fHistPrfCut[0] =
new TH3F(
"fHistPrfCutX",
";X_{pix}-X_{cl};Q_{pix}",nbinsA,binsA,nbinsB,binsB,nBinsY2,yBins2);
273 fHistPrfCut[1] =
new TH3F(
"fHistPrfCutY",
";X_{pix}-X_{cl};Q_{pix}",nbinsA,binsA,nbinsB,binsB,nBinsY2,yBins2);
274 fHistTrfCut[0] =
new TH3F(
"fHistTrfCutX",
";T_{pix}-T_{cl};Q_{pix}",nbinsA,binsA,nbinsC,binsC,nBinsY2,yBins2);
275 fHistTrfCut[1] =
new TH3F(
"fHistTrfCutY",
";T_{pix}-T_{cl};Q_{pix}",nbinsA,binsA,nbinsC,binsC,nBinsY2,yBins2);
276 fHistPrfNormCut[0] =
new TH3F(
"fHistPrfNormCutX",
";X_{pix}-X_{cl};Q_{pix}/Q_{cl}",nbinsA,binsA,nbinsB,binsB,nBinsY1,yBins1);
277 fHistPrfNormCut[1] =
new TH3F(
"fHistPrfNormCutY",
";X_{pix}-X_{cl};Q_{pix}/Q_{cl}",nbinsA,binsA,nbinsB,binsB,nBinsY1,yBins1);
278 fHistTrfNormCut[0] =
new TH3F(
"fHistTrfNormCutX",
";T_{pix}-T_{cl};Q_{pix}/Q_{cl}",nbinsA,binsA,nbinsC,binsC,nBinsY12,yBins12);
279 fHistTrfNormCut[1] =
new TH3F(
"fHistTrfNormCutY",
";T_{pix}-T_{cl};Q_{pix}/Q_{cl}",nbinsA,binsA,nbinsC,binsC,nBinsY12,yBins12);
282 fHistSigmaXVsZ[0] =
new TH2F(
"fHistSigmaXVsZX",
";t [30ns t.b.]; #sigma_{cluster}",512,0,512,500,0,50);
283 fHistSigmaXVsZ[1] =
new TH2F(
"fHistSigmaXVsZY",
";t [30ns t.b.]; #sigma_{cluster}",512,0,512,500,0,50);
284 fHistSigmaZVsZ[0] =
new TH2F(
"fHistSigmaZVsZX",
";t [30ns t.b.]; #sigma_{cluster}",512,0,512,500,0,50);
285 fHistSigmaZVsZ[1] =
new TH2F(
"fHistSigmaZVsZY",
";t [30ns t.b.]; #sigma_{cluster}",512,0,512,500,0,50);
288 fHistTmin[0] =
new TH1F(
"fHistTminX",
";t_{0} [30ns t.b.];",512,0,512);
289 fHistTmin[1] =
new TH1F(
"fHistTminY",
";t_{0} [30ns t.b.];",512,0,512);
290 fHistTmax[0] =
new TH1F(
"fHistTmaxX",
";t_{0} [30ns t.b.];",512,0,512);
291 fHistTmax[1] =
new TH1F(
"fHistTmaxY",
";t_{0} [30ns t.b.];",512,0,512);
Double_t fQclMin
Redefine empty default.
HarpoRecoEvent * GetRecoEvent()
void Save(char *mode=NULL)
Double_t GetData(Int_t i, Int_t j)
Set/Get Data Cell.
Object containing the reconstruction information for one event (with array of HarpoRecoClusters Harpo...
Cluster object, containing position, charge and quality information.
TFile * OpenHistFile(const char *ananame)
unpacked dcc data The class contains the data map for DCC or Feminos The data is stored as a 2D TMatr...
Analysis of space and time response of the readout.
Bool_t Lookup(const char *path, Bool_t &val)
Lookup function for scalar values.
const ULong_t gkNDetectors
TH3F * fHistTrfNormCut[2]
HarpoDccMap * GetDccMap(Long_t plane=XDCC)
Double_t GetSigmaNoise(Int_t i)
TClonesArray * GetClustersArray()
TH3F * fHistPrfNormCut[2]