30 #include "AliESDEvent.h"
31 #include "AliESDVZERO.h"
84 DefineInput(0, TChain::Class());
86 DefineOutput(1, TList::Class());
133 AliInfo(
"Constructor AliAnaVZEROQA");
136 DefineInput(0, TChain::Class());
138 DefineOutput(1, TList::Class());
143 const char* xLabel,
const char* yLabel)
146 TH1F* result =
new TH1F(name, title, nBins, xMin, xMax);
147 result->SetOption(
"E");
148 if (xLabel) result->GetXaxis()->SetTitle(xLabel);
149 if (yLabel) result->GetYaxis()->SetTitle(yLabel);
150 result->SetMarkerStyle(kFullCircle);
158 const char* xLabel,
const char* yLabel)
161 TH2F* result =
new TH2F(name, title, nBinsX, xMin, xMax, nBinsY, yMin, yMax);
162 if (xLabel) result->GetXaxis()->SetTitle(xLabel);
163 if (yLabel) result->GetYaxis()->SetTitle(yLabel);
170 AliInfo(
"AliAnaVZEROQA::UserCreateOutputObjects");
180 fhAdcPMTNoTime =
CreateHisto2D(
"hadcpmtnotime",
"ADC vs PMT index (no leading time)",64,-0.5,63.5,200,0,200,
"PMT index",
"ADC charge");
183 fhTimeA =
CreateHisto1D(
"htimepmtA",
"Time measured by TDC V0A",400,-100,100,
"Leading time (ns)",
"Entries");
184 fhTimeC =
CreateHisto1D(
"htimepmtC",
"Time measured by TDC V0C",400,-100,100,
"Leading time (ns)",
"Entries");
186 fhWidthA =
CreateHisto1D(
"hwidthA",
"Signal width measured by TDC V0A",200,0,100,
"Signal width (ns)",
"Entries");
187 fhWidthC =
CreateHisto1D(
"hwidthC",
"Signal width measured by TDC V0C",200,0,100,
"Signal width (ns)",
"Entries");
189 fhTimePMT =
CreateHisto2D(
"htimepmt",
"Time measured by TDC vs PMT index",64,-0.5,63.5,200,0,100,
"PMT Index",
"Leading time (ns)");
190 fhWidthPMT =
CreateHisto2D(
"hwidthpmt",
"Time width vs PMT index",64,-0.5,63.5,200,0,100,
"PMT Index",
"Signal width (ns)");
195 fhTimeCorr =
CreateHisto2D(
"htimecorr",
"Average time C side vs. A side",200,0,100,200,0,100,
"Time V0A (ns)",
"Time V0C (ns");
204 fV0ampl =
CreateHisto1D(
"hV0ampl",
"V0 multiplicity in single channel (all V0 channels)",400,-0.5,99.5);
262 AliVEvent*
event = InputEvent();
264 Printf(
"ERROR: Could not retrieve event");
270 Printf(
"ERROR: No ESD event");
273 AliESDVZERO* esdV0 = esd->GetVZEROData();
275 Printf(
"ERROR: No ESD VZERO");
279 for (
Int_t i=0; i<64; ++i) {
280 if (esdV0->GetTime(i) < 1e-6) {
300 fhTimeA->Fill(esdV0->GetTime(i));
302 fhAdcWidthA->Fill(esdV0->GetAdc(i),esdV0->GetWidth(i));
303 fhAdcTimeA->Fill(esdV0->GetTime(i),esdV0->GetAdc(i));
306 fhTimeC->Fill(esdV0->GetTime(i));
308 fhAdcWidthC->Fill(esdV0->GetAdc(i),esdV0->GetWidth(i));
309 fhAdcTimeC->Fill(esdV0->GetTime(i),esdV0->GetAdc(i));
316 fhTimeCorr->Fill(esdV0->GetV0ATime(),esdV0->GetV0CTime());
318 AliESDVZERO::Decision flaga = esdV0->GetV0ADecision();
319 AliESDVZERO::Decision flagc = esdV0->GetV0CDecision();
323 const AliESDVertex *vtx = esd->GetPrimaryVertexSPD();
325 if (flaga <= 1 && flagc <=1) {
326 fhVtxXYBB->Fill(vtx->GetX(),vtx->GetY());
340 fV0a->Fill(esdV0->GetNbPMV0A());
341 fV0c->Fill(esdV0->GetNbPMV0C());
342 fV0multA->Fill(esdV0->GetMTotV0A());
343 fV0multC->Fill(esdV0->GetMTotV0C());
344 for(
Int_t i = 0; i < 64; i++) {
345 fV0ampl->Fill(esdV0->GetMultiplicity(i));
358 Printf(
"ERROR: fListOfHistos not available");
362 Info(
"AliAnaVZEROQA",
"Successfully finished");
TH1F * CreateHisto1D(const char *name, const char *title, Int_t nBins, Double_t xMin, Double_t xMax, const char *xLabel=NULL, const char *yLabel=NULL)
virtual void Terminate(Option_t *)
TH2F * CreateHisto2D(const char *name, const char *title, Int_t nBinsX, Double_t xMin, Double_t xMax, Int_t nBinsY, Double_t yMin, Double_t yMax, const char *xLabel=NULL, const char *yLabel=NULL)
virtual void UserExec(Option_t *option)
ClassImp(AliAnaVZEROQA) AliAnaVZEROQA
virtual void UserCreateOutputObjects()