* @ingroup pwglf_forward_scripts_corr
*/
/**
- * Clear canvas
- *
- * @param c Canvas to clear
- *
- * @ingroup pwglf_forward_scripts_corr
- */
-void
-ClearCanvas(TCanvas* c)
-{
- c->SetLeftMargin(.1);
- c->SetRightMargin(.05);
- c->SetBottomMargin(.1);
- c->SetTopMargin(.05);
- c->Clear();
-}
-
-/**
- * Draw energy loss fits to a multi-page PDF.
+ * Draw secondary maps fits to a multi-page PDF.
*
* @par Input:
- * The input file is expected to contain a AliFMDCorrELossFit object
- * named @c elossfits in the top level directory.
- *
+ * The input is expected to be parameters to obtain a
+ * AliFMDCorrSecondaryMap object from the correction manager
+*
* @par Output:
* A multi-page PDF. Note, that the PDF generated by ROOT in this way
* is broken (cannot be read by Acrobat Reader on Windows and MacOSX)
* @ingroup pwglf_forward_scripts_corr
*/
void
-DrawCorrSecMap(const char* fname, const char* option="colz")
+DrawCorrSecMap(ULong_t runNo, UShort_t sys, UShort_t sNN, Short_t field,
+ const char* fname=0, Bool_t details=true)
{
//__________________________________________________________________
// Load libraries and object
- gROOT->Macro("$ALICE_ROOT/PWGLF/FORWARD/analysis2/scripts/LoadLibs.C");
-
- TFile* file = TFile::Open(fname, "READ");
- if (!file) {
- Error("DrawCorrSecMap", "Failed to open %s", fname);
- return;
- }
- TString pname(fname);
- pname.ReplaceAll(".root", ".pdf");
-
- const char* objName =
- AliForwardCorrectionManager::Instance()
- .GetObjectName(AliForwardCorrectionManager::kSecondaryMap);
- AliFMDCorrSecondaryMap* corr =
- static_cast<AliFMDCorrSecondaryMap*>(file->Get(objName));
- if (!corr) {
- Error("DrawCorrSecMap", "Object '%s' not found in %s", objName, fname);
- return;
- }
-
- //__________________________________________________________________
- // Create a canvas
- TCanvas* c = new TCanvas("c", "c", 800 / TMath::Sqrt(2), 800);
- c->SetFillColor(0);
- c->SetBorderSize(0);
- c->SetBorderMode(0);
- c->Print(Form("%s[", pname.Data()));
-
- gStyle->SetOptStat(0);
- gStyle->SetTitleColor(0);
- gStyle->SetTitleStyle(0);
- gStyle->SetTitleBorderSize(0);
- gStyle->SetTitleX(.1);
- gStyle->SetTitleY(1);
- gStyle->SetTitleW(.8);
- gStyle->SetTitleH(.09);
- gStyle->SetFrameFillColor(kWhite);
- gStyle->SetFrameBorderSize(1);
- gStyle->SetFrameBorderMode(1);
- gStyle->SetPalette(1);
-
- ClearCanvas(c);
- //__________________________________________________________________
- // Create a title page
- TLatex* ll = new TLatex(.5,.8, fname);
- ll->SetTextAlign(22);
- ll->SetTextSize(0.03);
- ll->SetNDC();
- ll->Draw();
-
- TLatex* l = new TLatex(.5,.8, fname);
- l->SetNDC();
- l->SetTextSize(0.03);
- l->SetTextFont(132);
- l->SetTextAlign(12);
- l->DrawLatex(0.2, 0.70, "Secondary map");
- l->SetTextAlign(22);
- l->DrawLatex(0.5, 0.60, "c_{v,r}(#eta,#phi)=#frac{"
- "#sum N_{ch,primary,i}(#eta,#phi)}{"
- "#sum N_{ch,FMD,i}(#eta,#phi)}");
- l->SetTextAlign(12);
- l->DrawLatex(0.2, 0.50, "N: Number of events");
- l->DrawLatex(0.2, 0.45, "N_{ch,primary,i}(#eta,#phi): Number of charged, "
- "primary particles in (#eta,#phi) bin");
- l->DrawLatex(0.2, 0.40, "N_{ch,primary,i}(#eta,#phi): Number of charged, "
- "particles that hit the FMD in (#eta,#phi) bin");
- l->DrawLatex(0.2, 0.35, "All quantities determined in MC");
-
- c->Print(pname.Data(), "Title:Title page");
-
- ClearCanvas(c);
-
- //__________________________________________________________________
- // Draw all corrections
- const TAxis& vtxAxis = corr->GetVertexAxis();
- Int_t nVtx = vtxAxis.GetNbins();
- for (UShort_t d = 1; d <= 3; d++) {
- UShort_t nQ = (d == 1 ? 1 : 2);
- for (UShort_t q = 0; q < nQ; q++) {
- Char_t r = (q == 0 ? 'I' : 'O');
-
- ClearCanvas(c);
- c->Divide(2, (nVtx+1)/2);
- for (UShort_t v=1; v <= nVtx; v++) {
- TVirtualPad* p = c->cd(v);
-
-
- TH2* h1 = corr->GetCorrection(d, r, v);
- if (!h1) {
- Warning("DrawCorrSecMap", "No correction for r=%c, v=%d", r, v);
- continue;
- }
- h1->Draw(option);
- }
- c->Print(pname.Data(), Form("Title:FMD%d%c", d, r));
- }
- }
-
- //__________________________________________________________________
- // Close output file
- c->Print(Form("%s]", pname.Data()));
+ // const char* fwd = "$ALICE_ROOT/PWGLF/FORWARD/analysis2";
+ const char* fwd = "$ALICE_ROOT/../trunk/PWGLF/FORWARD/analysis2";
+ gROOT->Macro(Form("%s/scripts/LoadLibs.C", fwd));
+ gROOT->LoadMacro(Form("%s/scripts/SummaryDrawer.C", fwd));
+ gROOT->LoadMacro(Form("%s/corrs/CorrDrawer.C", fwd));
+
+ CorrDrawer d;
+ d.Run(AliForwardCorrectionManager::kSecondaryMap, runNo, sys, sNN, field,
+ false, false, "", fname);
}
//
// EOF