5 # include <AliESDFMD.h>
7 # include <AliESDEvent.h>
81 fDt =
new TH1D(
"dt",
"Time-to-last event (PS-triggered)", 60, 0, 15);
82 fDt->SetXTitle(
"log_{10}(#Deltat)");
83 fDt->SetFillColor(kYellow+2);
84 fDt->SetLineColor(kYellow+2);
85 fDt->SetFillStyle(3001);
116 ivz, ip, cent, nClusters);
138 ULong64_t period = esd.GetPeriodNumber();
139 ULong64_t orbit = esd.GetOrbitNumber();
140 ULong64_t bc = esd.GetBunchCrossNumber();
142 ULong64_t dt =
fMap->
Get(full);
143 Double_t logDt = TMath::Log10(25. * dt);
146 Printf(
"!!! Failed to find dT for 0x%016llu", full);
157 case 1: r = &
fFMD1i;
break;
161 r->
Event(*esdFMD, logDt);
208 if (
gSystem->AccessPathName(filename, kReadPermission)) {
210 Error(
"ReadMap",
"File \"%s\" cannot be open for reading", filename);
213 Printf(
"Opening \"%s\" ...", filename);
214 TFile*
file = TFile::Open(filename,
"READ");
216 Error(
"ReadMap",
"Failed to open file \"%s\"", filename);
219 Printf(
"Opened \"%s\" ...", filename);
220 TObject* o = file->Get(
"eventTimeMap");
222 Error(
"ReadMap",
"Failed to get \"eventTimeMap\" from %s", filename);
225 Printf(
"Got object \"eventTimeMap\" from \"%s\" ...", filename);
226 if (!o->IsA()->InheritsFrom(EventTimeMap::Class())) {
227 Error(
"ReadMap",
"Object \"%s\" is not an EventTimeMap, but a %s",
228 o->GetName(), o->ClassName());
231 Printf(
"Set the \"eventTimeMap\" to use");
250 if (!task->
ReadMap(mapfile))
return false;
298 Form(
"#Deltat vs #Delta/#Delta_{mip} - %s",
300 dt->GetXaxis()->GetNbins(),
301 dt->GetXaxis()->GetXmin(),
302 dt->GetXaxis()->GetXmax());
304 fDtVsELoss->SetYTitle(
"log_{10}(#Deltat) [ns]");
321 for (
UShort_t s = 0; s < nSec; s++) {
322 for (
UShort_t t = 0; t < nStr; t++) {
324 if(mult == AliESDFMD::kInvalidMult || mult <= 0)
338 dtVsELoss->SetDirectory(0);
339 dtVsELoss->SetZTitle(
"1/N_{events}");
341 for (
UShort_t j = 1; j <= dt->GetNbinsX(); j++) {
342 Double_t norm = dt->GetBinContent(j);
350 dtVsELoss->SetBinContent(i,j,c/norm);
351 dtVsELoss->SetBinError(i,j,e/norm);
virtual Bool_t Finalize()
virtual const AliFMDEventInspector & GetEventInspector() const
virtual Bool_t Connect(const char *sumFile=0, const char *resFile=0)
RingHistos(UShort_t d, Char_t r)
virtual AliFMDEventInspector & GetEventInspector()
const UShort_t & NStrip() const
ELossTimeTask(const ELossTimeTask &o)
const char * GetName() const
static ULong64_t EncodeFull(ULong64_t period, ULong64_t orbit, ULong64_t bc)
Bool_t Book(TList *dir, TH1 *dt)
virtual Bool_t Event(AliESDEvent &esd)
UInt_t Process(const AliESDEvent *event, UInt_t &triggers, Bool_t &lowFlux, UShort_t &ivz, TVector3 &ip, Double_t ¢, UShort_t &nClusters)
ClassDef(AliBaseESDTask, 1)
Various utilities used in PWGLF/FORWARD.
Bool_t ReadMap(const char *filename)
const UShort_t & NSector() const
void Event(AliESDFMD &fmd, Double_t logDt)
TFile * file
TList with histograms for a given trigger.
void Finalize(const TList *input, TList *output, TH1 *dt)
TList * DefineOutputList(TList *d) const
UInt_t fNeededCorrections
static Bool_t Create(const char *mapfile)
AliFMDEventInspector fEventInspector
Value Get(const Key ×tamp) const
TList * GetOutputList(const TList *d) const
ELossTimeTask(const char *name)