AliFMDDensityCalculator::AliFMDDensityCalculator()
: TNamed(),
fRingHistos(),
- fMultCut(0.3)
+ fMultCut(0.3),
+ fSumOfWeights(0),
+ fWeightedSum(0),
+ fCorrections(0)
{}
//____________________________________________________________________
AliFMDDensityCalculator::AliFMDDensityCalculator(const char* title)
: TNamed("fmdDensityCalculator", title),
fRingHistos(),
- fMultCut(0.3)
+ fMultCut(0.3),
+ fSumOfWeights(0),
+ fWeightedSum(0),
+ fCorrections(0)
{
fRingHistos.SetName(GetName());
fRingHistos.Add(new RingHistos(1, 'I'));
fRingHistos.Add(new RingHistos(2, 'O'));
fRingHistos.Add(new RingHistos(3, 'I'));
fRingHistos.Add(new RingHistos(3, 'O'));
+ fSumOfWeights = new TH1D("sumOfWeights", "Sum of Landau weights",
+ 200, 0, 20);
+ fWeightedSum = new TH1D("weightedSum", "Weighted sum of Landau propability",
+ 200, 0, 20);
+ fCorrections = new TH1D("corrections", "Distribution of corrections",
+ 100, 0, 10);
+
}
//____________________________________________________________________
AliFMDDensityCalculator& o)
: TNamed(o),
fRingHistos(),
- fMultCut(o.fMultCut)
+ fMultCut(o.fMultCut),
+ fSumOfWeights(o.fSumOfWeights),
+ fWeightedSum(o.fWeightedSum),
+ fCorrections(o.fCorrections)
{
TIter next(&o.fRingHistos);
TObject* obj = 0;
rh->fEvsN->Fill(mult,n);
Float_t c = Correction(d,r,s,t,vtxbin,eta,lowFlux);
+ fCorrections->Fill(c);
if (c > 0) n /= c;
rh->fEvsM->Fill(mult,n);
2*w2 * TMath::Landau(mult,mpv2,2*w,kTRUE) +
3*w3 * TMath::Landau(mult,mpv3,3*w,kTRUE));
+ fWeightedSum->Fill(wsum);
+ fSumOfWeights->Fill(sum);
return (sum > 0) ? wsum / sum : 1;
}
TList* d = new TList;
d->SetName(GetName());
dir->Add(d);
+ d->Add(fWeightedSum);
+ d->Add(fSumOfWeights);
+ d->Add(fCorrections);
TIter next(&fRingHistos);
RingHistos* o = 0;
while ((o = static_cast<RingHistos*>(next()))) {
// Read trigger information from the ESD and store in AOD object
UInt_t triggers = 0;
if (!AliForwardUtil::ReadTriggers(esd, triggers, fHTriggers)) {
- if (am->GetDebugLevel() > 1)
+ if (am->GetDebugLevel() > 2)
AliWarning("Failed to read triggers from ESD");
return;
}
// Check if this is a high-flux event
const AliMultiplicity* testmult = esd->GetMultiplicity();
if (!testmult) {
- if (am->GetDebugLevel() > 1)
+ if (am->GetDebugLevel() > 3)
AliWarning("No central multiplicity object found");
return;
}
Bool_t lowFlux = testmult->GetNumberOfTracklets() < fLowFluxCut;
- if (am->GetDebugLevel() > 1)
- AliInfo(Form("Event has %d SPD tracklets, cut is %d, this is a %s event",
- testmult, fLowFluxCut, (lowFlux ? "low" : "high")));
// Get the FMD ESD data
AliESDFMD* esdFMD = esd->GetFMDData();
if (!esdFMD) {
- if (am->GetDebugLevel() > 1)
+ if (am->GetDebugLevel() > 3)
AliWarning("No FMD data found in ESD");
return;
}
fHEventsTr->Fill(vz);
if (!vzOk) {
- if (am->GetDebugLevel() > 1)
+ if (am->GetDebugLevel() > 3)
AliWarning("Failed to read vertex from ESD");
return;
}
Int_t ivz = fHEventsTr->GetXaxis()->FindBin(vz)-1;
fAODFMD.SetIpZ(vz);
if (ivz < 0 || ivz >= fHEventsTr->GetXaxis()->GetNbins()) {
- if (am->GetDebugLevel() > 1)
+ if (am->GetDebugLevel() > 3)
AliWarning(Form("Vertex @ %f outside of range [%f,%f]",
vz, fHEventsTr->GetXaxis()->GetXmin(),
fHEventsTr->GetXaxis()->GetXmax()));
return;
}
- if (am->GetDebugLevel() > 2)
+ if (am->GetDebugLevel() > 1)
+ AliInfo(Form("Event has %d SPD tracklets, cut is %d, this is a %s event",
+ testmult->GetNumberOfTracklets(),
+ fLowFluxCut, (lowFlux ? "low" : "high")));
+ if (am->GetDebugLevel() > 1)
AliInfo(Form("Events vertex @ %f (bin %d), in range", vz, ivz));