14 #include "AliDataFile.h"
35 #define DB_NAME "fmd_corrections.root"
68 AliDataFile::GetFileNameOADB(
"PWGLF/FORWARD/CORRECTIONS/data/" DB_NAME).c_str(), AliFMDCorrSecondaryMap::Class(),
71 AliDataFile::GetFileNameOADB(
"PWGLF/FORWARD/CORRECTIONS/data/" DB_NAME).c_str(), AliFMDCorrELossFit::Class(),
74 AliDataFile::GetFileNameOADB(
"PWGLF/FORWARD/CORRECTIONS/data/" DB_NAME).c_str(), AliFMDCorrVertexBias::Class(),
77 AliDataFile::GetFileNameOADB(
"PWGLF/FORWARD/CORRECTIONS/data/" DB_NAME).c_str(), AliFMDCorrMergingEfficiency::Class(),
80 AliDataFile::GetFileNameOADB(
"PWGLF/FORWARD/CORRECTIONS/data/" DB_NAME).c_str(), AliFMDCorrDoubleHit::Class(),
83 AliDataFile::GetFileNameOADB(
"PWGLF/FORWARD/CORRECTIONS/data/" DB_NAME).c_str(), AliFMDCorrAcceptance::Class(),
86 AliDataFile::GetFileNameOADB(
"PWGLF/FORWARD/CORRECTIONS/data/" DB_NAME).c_str(), AliFMDCorrNoiseGain::Class(),
kRun);
116 return Init(runNo, col,
119 mc, sat, what, force);
163 TObjArray* tokens = fields.Tokenize(
" \t,|+:;-&");
165 TObjString* ostr = 0;
166 while ((ostr = static_cast<TObjString*>(next()))) {
167 const TString& str = ostr->String();
169 if (str.Contains(
"all", TString::kIgnoreCase))
171 else if (str.Contains(
"default", TString::kIgnoreCase))
188 AliWarningClassF(
"Unknown correction: %s", str.Data());
198 const TString& destination)
const
202 dest = AliDataFile::GetFileNameOADB(
"OADB/PWGLF/FORWARD/CORRECTIONS/data/" DB_NAME).c_str();
309 void AliForwardCorrectionManager::Streamer(TBuffer &R__b)
314 if (R__b.IsReading()) {
315 R__b.ReadClassBuffer(AliForwardCorrectionManager::Class(),
this);
317 AliWarning(Form(
"Singleton instance already set (%p) when reading "
318 "singleton object (%p). Read object will be new "
325 R__b.WriteClassBuffer(AliForwardCorrectionManager::Class(),
this);
static Short_t ParseMagneticField(Float_t field)
static const Char_t * fgkNoiseGainSkel
void EnableCorrection(Int_t id, Bool_t enable=true)
static const Char_t * fgkVertexBiasSkel
const AliFMDCorrDoubleHit * GetDoubleHit() const
static UShort_t ParseCenterOfMassEnergy(UShort_t sys, Float_t cms)
virtual Bool_t Append(const TString &addition, const TString &destination="") const
Bool_t InitCorrections(ULong_t run, UShort_t sys, UShort_t sNN, Short_t fld, Bool_t mc, Bool_t sat, Bool_t force=false)
void RegisterCorrection(Int_t id, Correction *corr)
const TAxis & GetVertexAxis() const
const TAxis * GetEtaAxis() const
Bool_t Init(ULong_t runNumber, UShort_t collisionSystem, UShort_t cmsNN, Short_t field, Bool_t mc=false, Bool_t satelliteCollisions=false, UInt_t what=kDefault, Bool_t force=false)
static const Char_t * fgkAcceptanceSkel
static const Char_t * fgkMergingEffSkel
Various utilities used in PWGLF/FORWARD.
const AliFMDCorrMergingEfficiency * GetMergingEfficiency() const
const TAxis * GetVertexAxis() const
static const Char_t * fgkSecondaryMapSkel
const AliFMDCorrELossFit * GetELossFit() const
const AliFMDCorrNoiseGain * GetNoiseGain() const
static UInt_t ParseFields(const TString &what)
static const Char_t * fgkDoubleHitSkel
static UShort_t ParseCollisionSystem(const char *sys)
const AliFMDCorrAcceptance * GetAcceptance() const
virtual Bool_t Append(const TString &addition, const TString &destination="") const
const AliFMDCorrVertexBias * GetVertexBias() const
AliForwardCorrectionManager()
static const Char_t * fgkELossFitsSkel
static AliForwardCorrectionManager * fgInstance
const AliFMDCorrSecondaryMap * GetSecondaryMap() const
static AliForwardCorrectionManager & Instance()
const TAxis & GetEtaAxis() const