20 TList* vl =
static_cast<TList*
>(list->FindObject(lName));
22 Error(
"MakeSecMap",
"List %s not found in %s",
23 lName.Data(), list->GetName());
28 const char* primaryName =
"primary";
29 TH2D* primary =
static_cast<TH2D*
>(vl->FindObject(primaryName));
31 Error(
"MakeSecMap",
"Couldn't not find histogram %s in %s",
32 primaryName, lName.Data());
35 TH2D* primaryI =
static_cast<TH2D*
>(primary->Clone(
"primaryI"));
36 TH2D* primaryO =
static_cast<TH2D*
>(primary->Clone(
"primaryO"));
37 primaryI->SetDirectory(0);
38 primaryO->SetDirectory(0);
49 Char_t r = (q == 0 ?
'I' :
'O');
51 const char* ringName = Form(
"FMD%d%c_cache", d, r);
52 TH2D* ring =
static_cast<TH2D*
>(vl->FindObject(ringName));
54 Error(
"MakeSecMap",
"Didn't find histogram %s in %s",
55 ringName, vl->GetName());
60 TH2D* tmp =
static_cast<TH2D*
>(ring->Clone(
"tmp"));
61 TString tmpName = tmp->GetName();
62 tmpName.ReplaceAll(
"_cache",
"");
63 tmp->SetName(tmpName);
65 tmp->Divide(q == 0 ? primaryI : primaryO);
96 TFile*
file = TFile::Open(filename,
"READ");
98 Error(
"MakeCorrSecMap",
"Couldn't open file %s", filename);
103 const char* forwardName =
"ForwardSums";
104 TList* forward =
static_cast<TList*
>(file->Get(forwardName));
106 Error(
"MakeCorrSecMap",
"Couldn't get list %s from %s",
107 forwardName, filename);
112 const char* vtxName =
"vtxAxis";
113 TH1* vtxHist =
static_cast<TH1*
>(forward->FindObject(vtxName));
115 Error(
"MakeCorrSecMap",
"Couldn't get histogram %s from %s",
116 vtxName, forwardName);
119 const TAxis& vtxAxis = *(vtxHist->GetXaxis());
122 const char* etaName =
"etaAxis";
123 TH1* etaHist =
static_cast<TH1*
>(forward->FindObject(etaName));
125 Error(
"MakeCorrSecMap",
"Couldn't get histogram %s from %s",
126 etaName, forwardName);
129 const TAxis& etaAxis = *(etaHist->GetXaxis());
136 for (
Int_t i = 1; i <= vtxAxis.GetNbins(); i++) {
137 Double_t low = vtxAxis.GetBinLowEdge(i);
138 Double_t high = vtxAxis.GetBinUpEdge(i);
147 isys, cms, field,
false));
148 TFile* output = TFile::Open(fname.Data(),
"RECREATE");
150 Warning(
"Run",
"Failed to open output file %s", fname.Data());
158 Info(
"Run",
"File %s created. It should be copied to %s and stored in SVN",
Bool_t SetCorrection(UShort_t d, Char_t r, Double_t v, TH2D *h)
Bool_t MakeSecMap(TList *list, Double_t low, Double_t high, AliFMDCorrSecondaryMap *m)
static const char * BinName(Double_t low, Double_t high)
void SetVertexAxis(const TAxis &axis)
void MakeCorrSecMap(const char *filename, const char *sys="pp", UShort_t cms=900, Short_t field=+5)
const char * GetObjectName(Int_t what) const
static UShort_t ParseCollisionSystem(const char *sys)
TFile * file
TList with histograms for a given trigger.
void SetEtaAxis(const TAxis &axis)
static AliForwardCorrectionManager & Instance()