From b78897bc5c2051e31a390ec2d8983f1ccd04d8df Mon Sep 17 00:00:00 2001 From: snelling Date: Wed, 20 May 2009 17:11:43 +0000 Subject: [PATCH] some cosmetics + start of new macro to merge output of different jobs --- PWG2/FLOW/macros/mergeOutput.C | 188 +++++++++++++++++++++++ PWG2/FLOW/macros/showSpread.C | 272 +++++++++++++++++++++++++++------ 2 files changed, 417 insertions(+), 43 deletions(-) create mode 100644 PWG2/FLOW/macros/mergeOutput.C diff --git a/PWG2/FLOW/macros/mergeOutput.C b/PWG2/FLOW/macros/mergeOutput.C new file mode 100644 index 00000000000..6ed377bb361 --- /dev/null +++ b/PWG2/FLOW/macros/mergeOutput.C @@ -0,0 +1,188 @@ +enum libModes {mLocal,mLocalSource}; +//mLocal: Analyze data on your computer using aliroot +//mLocalSource: Analyze data on your computer using root + source files + +void mergeOutput(const Int_t nRuns=-1, TString type="",Int_t mode=mLocal) +{ + // load needed libraries: + LoadSpreadLibraries(mode); + + // file mergers for the output file of each method separately: + // MCEP: + TFileMerger *mcepFileMerger = new TFileMerger(); + TString mergedFileNameMCEP("outputMCEPanalysis.root"); + mcepFileMerger->OutputFile(mergedFileNameMCEP); + + // SP: + TFileMerger *spFileMerger = new TFileMerger(); + TString mergedFileNameSP("outputSPanalysis.root"); + spFileMerger->OutputFile(mergedFileNameSP); + + // GFC: + TFileMerger *gfcFileMerger = new TFileMerger(); + TString mergedFileNameGFC("outputGFCanalysis.root"); + gfcFileMerger->OutputFile(mergedFileNameGFC); + + // QC: + TFileMerger *qcFileMerger = new TFileMerger(); + TString mergedFileNameQC("outputQCanalysis.root"); + qcFileMerger->OutputFile(mergedFileNameQC); + + // FQD: + TFileMerger *fqdFileMerger = new TFileMerger(); + TString mergedFileNameFQD("outputFQDanalysis.root"); + fqdFileMerger->OutputFile(mergedFileNameFQD); + + // LYZ1: + TFileMerger *lyz1FileMerger = new TFileMerger(); + TString mergedFileNameLYZ1("outputLYZ1analysis.root"); + lyz1FileMerger->OutputFile(mergedFileNameLYZ1); + + // LYZ2: + TFileMerger *lyz2FileMerger = new TFileMerger(); + TString mergedFileNameLYZ2("outputLYZ2analysis.root"); + lyz2FileMerger->OutputFile(mergedFileNameLYZ2); + + // LYZEP: + TFileMerger *lyzepFileMerger = new TFileMerger(); + TString mergedFileNameLYZEP("outputLYZEPanalysis.root"); + lyzepFileMerger->OutputFile(mergedFileNameLYZEP); + + // standard magic: + TString execDir(gSystem->pwd()); + TSystemDirectory* baseDir = new TSystemDirectory(".",execDir.Data()); + TList* dirList = baseDir->GetListOfFiles(); + Int_t nDirs = dirList->GetEntries(); + gSystem->cd(execDir); + + Int_t counter = 0; + + for(Int_t iDir=0;iDirAt(iDir); + if(!presentDir || !presentDir->IsDirectory() || strcmp(presentDir->GetName(), ".") == 0 || + strcmp(presentDir->GetName(), "..") == 0) continue; + + if(nRuns != -1) + { + if (counter >= nRuns) break; + } + + TString presentDirName(gSystem->pwd()); + presentDirName += "/"; + presentDirName += presentDir->GetName(); + presentDirName += "/"; + + // accessing the output .root files from independent analysis for each method: + // MCEP: + TString fileNameMCEP = presentDirName; + fileNameMCEP+="outputMCEPanalysis.root"; + mcepFileMerger->AddFile(fileNameMCEP.Data()); + // SP: + TString fileNameSP = presentDirName; + fileNameSP+="outputSPanalysis.root"; + spFileMerger->AddFile(fileNameSP.Data()); + // GFC: + TString fileNameGFC = presentDirName; + fileNameGFC+="outputGFCanalysis.root"; + gfcFileMerger->AddFile(fileNameGFC.Data()); + // QC: + TString fileNameQC = presentDirName; + fileNameQC+="outputQCanalysis.root"; + qcFileMerger->AddFile(fileNameQC.Data()); + // FQD: + TString fileNameFQD = presentDirName; + fileNameFQD+="outputFQDanalysis.root"; + fqdFileMerger->AddFile(fileNameFQD.Data()); + // LYZ1: + TString fileNameLYZ1 = presentDirName; + fileNameLYZ1+="outputLYZ1analysis.root"; + lyz1FileMerger->AddFile(fileNameLYZ1.Data()); + // LYZ2: + TString fileNameLYZ2 = presentDirName; + fileNameLYZ2+="outputLYZ2analysis.root"; + lyz2FileMerger->AddFile(fileNameLYZ2.Data()); + // LYZEP: + TString fileNameLYZEP = presentDirName; + fileNameLYZEP+="outputLYZEPanalysis.root"; + lyzepFileMerger->AddFile(fileNameLYZEP.Data()); + + counter++; + + } // end of for(Int_t iDir=0;iDirMerge(); + spFileMerger->Merge(); + gfcFileMerger->Merge(); + qcFileMerger->Merge(); + fqdFileMerger->Merge(); + lyz1FileMerger->Merge(); + lyz2FileMerger->Merge(); + lyzepFileMerger->Merge(); +} + + +void LoadSpreadLibraries(const libModes mode) { + + //-------------------------------------- + // Load the needed libraries most of them already loaded by aliroot + //-------------------------------------- + gSystem->Load("libTree.so"); + gSystem->Load("libGeom.so"); + gSystem->Load("libVMC.so"); + gSystem->Load("libXMLIO.so"); + gSystem->Load("libPhysics.so"); + + //---------------------------------------------------------- + // >>>>>>>>>>> Local mode <<<<<<<<<<<<<< + //---------------------------------------------------------- + if (mode==mLocal) { + //-------------------------------------------------------- + // If you want to use already compiled libraries + // in the aliroot distribution + //-------------------------------------------------------- + + //================================================================================== + //load needed libraries: + gSystem->AddIncludePath("-I$ROOTSYS/include"); + gSystem->Load("libTree.so"); + + // for AliRoot + gSystem->AddIncludePath("-I$ALICE_ROOT/include"); + gSystem->Load("libANALYSIS.so"); + gSystem->Load("libPWG2flowCommon.so"); + cerr<<"libPWG2flowCommon.so loaded ..."<LoadMacro("AliFlowCommon/AliFlowCommonConstants.cxx+"); + gROOT->LoadMacro("AliFlowCommon/AliFlowLYZConstants.cxx+"); + gROOT->LoadMacro("AliFlowCommon/AliFlowCumuConstants.cxx+"); + + // Flow event + gROOT->LoadMacro("AliFlowCommon/AliFlowVector.cxx+"); + gROOT->LoadMacro("AliFlowCommon/AliFlowTrackSimple.cxx+"); + gROOT->LoadMacro("AliFlowCommon/AliFlowEventSimple.cxx+"); + + // Cuts + gROOT->LoadMacro("AliFlowCommon/AliFlowTrackSimpleCuts.cxx+"); + + // Output histosgrams + gROOT->LoadMacro("AliFlowCommon/AliFlowCommonHist.cxx+"); + gROOT->LoadMacro("AliFlowCommon/AliFlowCommonHistResults.cxx+"); + gROOT->LoadMacro("AliFlowCommon/AliFlowLYZHist1.cxx+"); + gROOT->LoadMacro("AliFlowCommon/AliFlowLYZHist2.cxx+"); + + cout << "finished loading macros!" << endl; + + } + +} + + diff --git a/PWG2/FLOW/macros/showSpread.C b/PWG2/FLOW/macros/showSpread.C index 79f950e6510..1d56cee8be7 100644 --- a/PWG2/FLOW/macros/showSpread.C +++ b/PWG2/FLOW/macros/showSpread.C @@ -1,15 +1,11 @@ -//type of analysis can be: ESD, AOD, MC, ESDMC0, ESDMC1 -//const TString type = "ESD"; - enum libModes {mLocal,mLocalSource}; //mLocal: Analyze data on your computer using aliroot //mLocalSource: Analyze data on your computer using root + source files -//void compareFlowResults(TString type="",Int_t mode=mLocalSource) void showSpread(const Int_t nRuns=10, TString type="",Int_t mode=mLocal) { // load needed libraries: - LoadPlotLibraries(mode); + LoadSpreadLibraries(mode); // standard magic: TString execDir(gSystem->pwd()); @@ -18,8 +14,7 @@ void showSpread(const Int_t nRuns=10, TString type="",Int_t mode=mLocal) Int_t nDirs = dirList->GetEntries(); gSystem->cd(execDir); - // array to store estimates of each method from different runs: - + // arrays to store estimates of each method from different runs: // MCEP: Double_t mcepValueNONAME[nRuns] = {0.}; Double_t mcepMaxValueNONAME = 0.; @@ -364,8 +359,8 @@ void showSpread(const Int_t nRuns=10, TString type="",Int_t mode=mLocal) - //removing the title and stat. box from all histograms: - //gStyle->SetOptTitle(0); + // removing the title and stat. box from all histograms: + // gStyle->SetOptTitle(0); gStyle->SetOptStat(0); // box width: @@ -398,6 +393,7 @@ void showSpread(const Int_t nRuns=10, TString type="",Int_t mode=mLocal) //intFlowAll->SetLabelSize(0.036,"Y"); //intFlowAll->SetMarkerStyle(markerStyle); //intFlowAll->SetMarkerColor(markerColor); + (intFlowAll->GetYaxis())->SetTickLength(0.01); (intFlowAll->GetXaxis())->SetBinLabel(binMCEP,"v_{2}{MC}"); (intFlowAll->GetXaxis())->SetBinLabel(binSP,"v_{2}{SP}"); (intFlowAll->GetXaxis())->SetBinLabel(binGFC2,"v_{2}{2,GFC}"); @@ -453,8 +449,9 @@ void showSpread(const Int_t nRuns=10, TString type="",Int_t mode=mLocal) // MCEP: TGraph* mcepTGraphNONAME = new TGraph(nPoints, mcepNONAME, mcepValueNONAME); - mcepTGraphNONAME->SetMarkerStyle(21); + mcepTGraphNONAME->SetMarkerStyle(25); mcepTGraphNONAME->SetMarkerColor(kBlack); + mcepTGraphNONAME->SetMarkerSize(0.25); TGraph *mcepBoxNONAME = new TGraph(5); mcepBoxNONAME->SetPoint(1,(binMCEP-0.5)-boxWidth,mcepMinValueNONAME); @@ -464,11 +461,12 @@ void showSpread(const Int_t nRuns=10, TString type="",Int_t mode=mLocal) mcepBoxNONAME->SetPoint(5,(binMCEP-0.5)-boxWidth,mcepMinValueNONAME); mcepBoxNONAME->SetFillStyle(1001); mcepBoxNONAME->SetFillColor(kGray); - + // SP: TGraph* spTGraphNONAME = new TGraph(nPoints, spNONAME, spValueNONAME); - spTGraphNONAME->SetMarkerStyle(21); + spTGraphNONAME->SetMarkerStyle(25); spTGraphNONAME->SetMarkerColor(kViolet+3); + spTGraphNONAME->SetMarkerSize(0.25); TGraph *spBoxNONAME = new TGraph(5); spBoxNONAME->SetPoint(1,(binSP-0.5)-boxWidth,spMinValueNONAME); @@ -481,8 +479,9 @@ void showSpread(const Int_t nRuns=10, TString type="",Int_t mode=mLocal) // GFC{2}: TGraph* gfc2TGraphNONAME = new TGraph(nPoints, gfc2NONAME, gfc2ValueNONAME); - gfc2TGraphNONAME->SetMarkerStyle(21); - gfc2TGraphNONAME->SetMarkerColor(kBlue); + gfc2TGraphNONAME->SetMarkerStyle(25); + gfc2TGraphNONAME->SetMarkerColor(kBlue); + gfc2TGraphNONAME->SetMarkerSize(0.25); TGraph *gfc2BoxNONAME = new TGraph(5); gfc2BoxNONAME->SetPoint(1,(binGFC2-0.5)-boxWidth,gfc2MinValueNONAME); @@ -495,8 +494,9 @@ void showSpread(const Int_t nRuns=10, TString type="",Int_t mode=mLocal) // GFC{4}: TGraph* gfc4TGraphNONAME = new TGraph(nPoints, gfc4NONAME, gfc4ValueNONAME); - gfc4TGraphNONAME->SetMarkerStyle(21); + gfc4TGraphNONAME->SetMarkerStyle(25); gfc4TGraphNONAME->SetMarkerColor(kBlue); + gfc4TGraphNONAME->SetMarkerSize(0.25); TGraph *gfc4BoxNONAME = new TGraph(5); gfc4BoxNONAME->SetPoint(1,(binGFC4-0.5)-boxWidth,gfc4MinValueNONAME); @@ -509,8 +509,9 @@ void showSpread(const Int_t nRuns=10, TString type="",Int_t mode=mLocal) // GFC{6}: TGraph* gfc6TGraphNONAME = new TGraph(nPoints, gfc6NONAME, gfc6ValueNONAME); - gfc6TGraphNONAME->SetMarkerStyle(21); + gfc6TGraphNONAME->SetMarkerStyle(25); gfc6TGraphNONAME->SetMarkerColor(kBlue); + gfc6TGraphNONAME->SetMarkerSize(0.25); TGraph *gfc6BoxNONAME = new TGraph(5); gfc6BoxNONAME->SetPoint(1,(binGFC6-0.5)-boxWidth,gfc6MinValueNONAME); @@ -523,8 +524,9 @@ void showSpread(const Int_t nRuns=10, TString type="",Int_t mode=mLocal) // GFC{8}: TGraph* gfc8TGraphNONAME = new TGraph(nPoints, gfc8NONAME, gfc8ValueNONAME); - gfc8TGraphNONAME->SetMarkerStyle(21); + gfc8TGraphNONAME->SetMarkerStyle(25); gfc8TGraphNONAME->SetMarkerColor(kBlue); + gfc8TGraphNONAME->SetMarkerSize(0.25); TGraph *gfc8BoxNONAME = new TGraph(5); gfc8BoxNONAME->SetPoint(1,(binGFC8-0.5)-boxWidth,gfc8MinValueNONAME); @@ -537,8 +539,9 @@ void showSpread(const Int_t nRuns=10, TString type="",Int_t mode=mLocal) // QC{2}: TGraph* qc2TGraphNONAME = new TGraph(nPoints, qc2NONAME, qc2ValueNONAME); - qc2TGraphNONAME->SetMarkerStyle(21); + qc2TGraphNONAME->SetMarkerStyle(25); qc2TGraphNONAME->SetMarkerColor(kRed); + qc2TGraphNONAME->SetMarkerSize(0.25); TGraph *qc2BoxNONAME = new TGraph(5); qc2BoxNONAME->SetPoint(1,(binQC2-0.5)-boxWidth,qc2MinValueNONAME); @@ -551,8 +554,9 @@ void showSpread(const Int_t nRuns=10, TString type="",Int_t mode=mLocal) // QC{4}: TGraph* qc4TGraphNONAME = new TGraph(nPoints, qc4NONAME, qc4ValueNONAME); - qc4TGraphNONAME->SetMarkerStyle(21); + qc4TGraphNONAME->SetMarkerStyle(25); qc4TGraphNONAME->SetMarkerColor(kRed); + qc4TGraphNONAME->SetMarkerSize(0.25); TGraph *qc4BoxNONAME = new TGraph(5); qc4BoxNONAME->SetPoint(1,(binQC4-0.5)-boxWidth,qc4MinValueNONAME); @@ -565,8 +569,9 @@ void showSpread(const Int_t nRuns=10, TString type="",Int_t mode=mLocal) // QC{6}: TGraph* qc6TGraphNONAME = new TGraph(nPoints, qc6NONAME, qc6ValueNONAME); - qc6TGraphNONAME->SetMarkerStyle(21); + qc6TGraphNONAME->SetMarkerStyle(25); qc6TGraphNONAME->SetMarkerColor(kRed); + qc6TGraphNONAME->SetMarkerSize(0.25); TGraph *qc6BoxNONAME = new TGraph(5); qc6BoxNONAME->SetPoint(1,(binQC6-0.5)-boxWidth,qc6MinValueNONAME); @@ -579,8 +584,9 @@ void showSpread(const Int_t nRuns=10, TString type="",Int_t mode=mLocal) // QC{8}: TGraph* qc8TGraphNONAME = new TGraph(nPoints, qc8NONAME, qc8ValueNONAME); - qc8TGraphNONAME->SetMarkerStyle(21); + qc8TGraphNONAME->SetMarkerStyle(25); qc8TGraphNONAME->SetMarkerColor(kRed); + qc8TGraphNONAME->SetMarkerSize(0.25); TGraph *qc8BoxNONAME = new TGraph(5); qc8BoxNONAME->SetPoint(1,(binQC8-0.5)-boxWidth,qc8MinValueNONAME); @@ -593,8 +599,9 @@ void showSpread(const Int_t nRuns=10, TString type="",Int_t mode=mLocal) // FQD: TGraph* fqdTGraphNONAME = new TGraph(nPoints, fqdNONAME, fqdValueNONAME); - fqdTGraphNONAME->SetMarkerStyle(21); + fqdTGraphNONAME->SetMarkerStyle(25); fqdTGraphNONAME->SetMarkerColor(kOrange+7); + fqdTGraphNONAME->SetMarkerSize(0.25); TGraph *fqdBoxNONAME = new TGraph(5); fqdBoxNONAME->SetPoint(1,(binFQD-0.5)-boxWidth,fqdMinValueNONAME); @@ -607,9 +614,10 @@ void showSpread(const Int_t nRuns=10, TString type="",Int_t mode=mLocal) // LYZ1: TGraph* lyz1TGraphNONAME = new TGraph(nPoints, lyz1NONAME, lyz1ValueNONAME); - lyz1TGraphNONAME->SetMarkerStyle(21); + lyz1TGraphNONAME->SetMarkerStyle(25); lyz1TGraphNONAME->SetMarkerColor(kYellow+3); - + lyz1TGraphNONAME->SetMarkerSize(0.25); + TGraph *lyz1BoxNONAME = new TGraph(5); lyz1BoxNONAME->SetPoint(1,(binLYZ1-0.5)-boxWidth,lyz1MinValueNONAME); lyz1BoxNONAME->SetPoint(2,(binLYZ1-0.5)+boxWidth,lyz1MinValueNONAME); @@ -621,8 +629,9 @@ void showSpread(const Int_t nRuns=10, TString type="",Int_t mode=mLocal) // LYZEP: TGraph* lyzepTGraphNONAME = new TGraph(nPoints, lyzepNONAME, lyzepValueNONAME); - lyzepTGraphNONAME->SetMarkerStyle(21); + lyzepTGraphNONAME->SetMarkerStyle(25); lyzepTGraphNONAME->SetMarkerColor(kGreen+3); + lyzepTGraphNONAME->SetMarkerSize(0.25); TGraph *lyzepBoxNONAME = new TGraph(5); lyzepBoxNONAME->SetPoint(1,(binLYZEP-0.5)-boxWidth,lyzepMinValueNONAME); @@ -633,7 +642,6 @@ void showSpread(const Int_t nRuns=10, TString type="",Int_t mode=mLocal) lyzepBoxNONAME->SetFillStyle(1001); lyzepBoxNONAME->SetFillColor(kGreen-9); - TCanvas* intFlowCanvasNONAME = new TCanvas("Integrated Flow NONAME","Integrated Flow NONAME",1000,600); intFlowCanvasNONAME->Divide(2,1); @@ -643,69 +651,247 @@ void showSpread(const Int_t nRuns=10, TString type="",Int_t mode=mLocal) if(intFlowNONAME) { - intFlowNONAME->SetTitle("Integrated Flow NONAME"); + TString intFlowNameNONAME("Superimposing "); + intFlowNameNONAME+=nRuns; + intFlowNameNONAME+=" independent runs"; + intFlowNONAME->SetTitle(intFlowNameNONAME.Data()); (intFlowNONAME->GetYaxis())->SetRangeUser(0,0.20); intFlowNONAME->Draw(); } // MCEP - if(mcepBoxNONAME) mcepBoxNONAME->Draw("LFSAME"); + if(mcepBoxNONAME && mcepMinValueNONAME < 1000.) mcepBoxNONAME->Draw("LFSAME"); if(mcepTGraphNONAME) mcepTGraphNONAME->Draw("PSAME"); // SP - if(spBoxNONAME) spBoxNONAME->Draw("LFSAME"); + if(spBoxNONAME && spMinValueNONAME < 1000.) spBoxNONAME->Draw("LFSAME"); if(spTGraphNONAME) spTGraphNONAME->Draw("PSAME"); // GFC{2} - if(gfc2BoxNONAME) gfc2BoxNONAME->Draw("LFSAME"); + if(gfc2BoxNONAME && gfc2MinValueNONAME < 1000.) gfc2BoxNONAME->Draw("LFSAME"); if(gfc2TGraphNONAME) gfc2TGraphNONAME->Draw("PSAME"); // GFC{4} - if(gfc4BoxNONAME) gfc4BoxNONAME->Draw("LFSAME"); + if(gfc4BoxNONAME && gfc4MinValueNONAME < 1000.) gfc4BoxNONAME->Draw("LFSAME"); if(gfc4TGraphNONAME) gfc4TGraphNONAME->Draw("PSAME"); // GFC{6} - if(gfc6BoxNONAME) gfc6BoxNONAME->Draw("LFSAME"); + if(gfc6BoxNONAME && gfc6MinValueNONAME < 1000.) gfc6BoxNONAME->Draw("LFSAME"); if(gfc6TGraphNONAME) gfc6TGraphNONAME->Draw("PSAME"); // GFC{8} - if(gfc8BoxNONAME) gfc8BoxNONAME->Draw("LFSAME"); + if(gfc8BoxNONAME && gfc8MinValueNONAME < 1000.) gfc8BoxNONAME->Draw("LFSAME"); if(gfc8TGraphNONAME) gfc8TGraphNONAME->Draw("PSAME"); // QC{2} - if(qc2BoxNONAME) qc2BoxNONAME->Draw("LFSAME"); + if(qc2BoxNONAME && qc2MinValueNONAME < 1000.) qc2BoxNONAME->Draw("LFSAME"); if(qc2TGraphNONAME) qc2TGraphNONAME->Draw("PSAME"); // QC{4} - if(qc4BoxNONAME) qc4BoxNONAME->Draw("LFSAME"); + if(qc4BoxNONAME && qc4MinValueNONAME < 1000.) qc4BoxNONAME->Draw("LFSAME"); if(qc4TGraphNONAME) qc4TGraphNONAME->Draw("PSAME"); // QC{6} - if(qc6BoxNONAME) qc6BoxNONAME->Draw("LFSAME"); + if(qc6BoxNONAME && qc6MinValueNONAME < 1000.) qc6BoxNONAME->Draw("LFSAME"); if(qc6TGraphNONAME) qc6TGraphNONAME->Draw("PSAME"); // QC{8} - if(qc8BoxNONAME) qc8BoxNONAME->Draw("LFSAME"); + if(qc8BoxNONAME && qc8MinValueNONAME < 1000.) qc8BoxNONAME->Draw("LFSAME"); if(qc8TGraphNONAME) qc8TGraphNONAME->Draw("PSAME"); // FQD - if(fqdBoxNONAME) fqdBoxNONAME->Draw("LFSAME"); + if(fqdBoxNONAME && fqdMinValueNONAME < 1000.) fqdBoxNONAME->Draw("LFSAME"); if(fqdTGraphNONAME) fqdTGraphNONAME->Draw("PSAME"); // LYZ1 - if(lyz1BoxNONAME) lyz1BoxNONAME->Draw("LFSAME"); + if(lyz1BoxNONAME && lyz1MinValueNONAME < 1000.) lyz1BoxNONAME->Draw("LFSAME"); if(lyz1TGraphNONAME) lyz1TGraphNONAME->Draw("PSAME"); // LYZEP - //if(lyzepBoxNONAME) lyzepBoxNONAME->Draw("LFSAME"); - //if(lyzepTGraphNONAME) lyzepTGraphNONAME->Draw("PSAME"); - + if(lyzepBoxNONAME && lyzepMinValueNONAME < 1000.) lyzepBoxNONAME->Draw("LFSAME"); + if(lyzepTGraphNONAME) lyzepTGraphNONAME->Draw("PSAME"); + + // 2nd pad is for legend: (intFlowCanvasNONAME->cd(2))->SetPad(0.75,0.0,1.0,1.0); + + // count real estimates: + Int_t mcepCountRealNONAME = 0; + Int_t spCountRealNONAME = 0; + Int_t gfc2CountRealNONAME = 0; + Int_t gfc4CountRealNONAME = 0; + Int_t gfc6CountRealNONAME = 0; + Int_t gfc8CountRealNONAME = 0; + Int_t qc2CountRealNONAME = 0; + Int_t qc4CountRealNONAME = 0; + Int_t qc6CountRealNONAME = 0; + Int_t qc8CountRealNONAME = 0; + Int_t fqdCountRealNONAME = 0; + Int_t lyz1CountRealNONAME = 0; + Int_t lyzepCountRealNONAME = 0; + for(Int_t i=0;i0.) mcepCountRealNONAME++; + if(spValueNONAME[i]>0.) spCountRealNONAME++; + if(gfc2ValueNONAME[i]>0.) gfc2CountRealNONAME++; + if(gfc4ValueNONAME[i]>0.) gfc4CountRealNONAME++; + if(gfc6ValueNONAME[i]>0.) gfc6CountRealNONAME++; + if(gfc8ValueNONAME[i]>0.) gfc8CountRealNONAME++; + if(qc2ValueNONAME[i]>0.) qc2CountRealNONAME++; + if(qc4ValueNONAME[i]>0.) qc4CountRealNONAME++; + if(qc6ValueNONAME[i]>0.) qc6CountRealNONAME++; + if(qc8ValueNONAME[i]>0.) qc8CountRealNONAME++; + if(fqdValueNONAME[i]>0.) fqdCountRealNONAME++; + if(lyz1ValueNONAME[i]>0.) lyz1CountRealNONAME++; + if(lyzepValueNONAME[i]>0.) lyzepCountRealNONAME++; + } + + TPaveText *textDefaultNONAME = new TPaveText(0.05,0.67,0.95,0.90,"NDC"); + textDefaultNONAME->SetTextFont(72); + textDefaultNONAME->SetTextSize(0.08); + + TString *entryDefaultRealNONAME = new TString("Real estimates"); + //TString *entryDefaultOutOfNONAME = new TString("out of"); + TString *entryDefaultTotalNumberNONAME = new TString(" out of total number of "); + TString *entryDefaultTotalIndNONAME = new TString("independent"); + TString *entryDefaultTotalSimNONAME = new TString("simulations:"); + + textDefaultNONAME->AddText(entryDefaultRealNONAME->Data()); + //textDefaultNONAME->AddText(entryDefaultOutOfNONAME->Data()); + textDefaultNONAME->AddText(entryDefaultTotalNumberNONAME->Data()); + textDefaultNONAME->AddText(entryDefaultTotalIndNONAME->Data()); + textDefaultNONAME->AddText(entryDefaultTotalSimNONAME->Data()); + + // results: + TPaveText *textResultsNONAME = new TPaveText(0.05,0.12,0.95,0.60,"NDC"); + textResultsNONAME->SetTextFont(72); + textResultsNONAME->SetTextSize(0.06); + + // entries: + TString *entryIntFlowMCNONAME = new TString("MC ................ "); + TString *entryIntFlowSPNONAME = new TString("SP ................ "); + TString *entryIntFlowGFC2NONAME = new TString("GFC{2} ........ "); + TString *entryIntFlowGFC4NONAME = new TString("GFC{4} ........ "); + TString *entryIntFlowGFC6NONAME = new TString("GFC{6} ........ "); + TString *entryIntFlowGFC8NONAME = new TString("GFC{8} ........ "); + TString *entryIntFlowQC2NONAME = new TString("QC{2} .......... "); + TString *entryIntFlowQC4NONAME = new TString("QC{4} .......... "); + TString *entryIntFlowQC6NONAME = new TString("QC{6} .......... "); + TString *entryIntFlowQC8NONAME = new TString("QC{8} .......... "); + TString *entryIntFlowFQDNONAME = new TString("FQD ............. "); + TString *entryIntFlowLYZ1NONAME = new TString("LYZ ............. "); + TString *entryIntFlowLYZEPNONAME = new TString("LYZEP ........ "); + + if(entryIntFlowMCNONAME) + { + (*entryIntFlowMCNONAME)+=(Long_t)mcepCountRealNONAME; + entryIntFlowMCNONAME->Append(" out of "); + (*entryIntFlowMCNONAME)+=(Long_t)counter; + if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowMCNONAME->Data()); + } + + if(entryIntFlowSPNONAME) + { + (*entryIntFlowSPNONAME)+=(Long_t)spCountRealNONAME; + entryIntFlowSPNONAME->Append(" out of "); + (*entryIntFlowSPNONAME)+=(Long_t)counter; + if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowSPNONAME->Data()); + } + + if(entryIntFlowGFC2NONAME) + { + (*entryIntFlowGFC2NONAME)+=(Long_t)gfc2CountRealNONAME; + entryIntFlowGFC2NONAME->Append(" out of "); + (*entryIntFlowGFC2NONAME)+=(Long_t)counter; + if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowGFC2NONAME->Data()); + } + + if(entryIntFlowGFC4NONAME) + { + (*entryIntFlowGFC4NONAME)+=(Long_t)gfc4CountRealNONAME; + entryIntFlowGFC4NONAME->Append(" out of "); + (*entryIntFlowGFC4NONAME)+=(Long_t)counter; + if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowGFC4NONAME->Data()); + } + + if(entryIntFlowGFC6NONAME) + { + (*entryIntFlowGFC6NONAME)+=(Long_t)gfc6CountRealNONAME; + entryIntFlowGFC6NONAME->Append(" out of "); + (*entryIntFlowGFC6NONAME)+=(Long_t)counter; + if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowGFC6NONAME->Data()); + } + + if(entryIntFlowGFC8NONAME) + { + (*entryIntFlowGFC8NONAME)+=(Long_t)gfc8CountRealNONAME; + entryIntFlowGFC8NONAME->Append(" out of "); + (*entryIntFlowGFC8NONAME)+=(Long_t)counter; + if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowGFC8NONAME->Data()); + } + + if(entryIntFlowQC2NONAME) + { + (*entryIntFlowQC2NONAME)+=(Long_t)qc2CountRealNONAME; + entryIntFlowQC2NONAME->Append(" out of "); + (*entryIntFlowQC2NONAME)+=(Long_t)counter; + if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowQC2NONAME->Data()); + } + + if(entryIntFlowQC4NONAME) + { + (*entryIntFlowQC4NONAME)+=(Long_t)qc4CountRealNONAME; + entryIntFlowQC4NONAME->Append(" out of "); + (*entryIntFlowQC4NONAME)+=(Long_t)counter; + if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowQC4NONAME->Data()); + } + + if(entryIntFlowQC2NONAME) + { + (*entryIntFlowQC6NONAME)+=(Long_t)qc6CountRealNONAME; + entryIntFlowQC6NONAME->Append(" out of "); + (*entryIntFlowQC6NONAME)+=(Long_t)counter; + if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowQC6NONAME->Data()); + } + if(entryIntFlowQC8NONAME) + { + (*entryIntFlowQC8NONAME)+=(Long_t)qc8CountRealNONAME; + entryIntFlowQC8NONAME->Append(" out of "); + (*entryIntFlowQC8NONAME)+=(Long_t)counter; + if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowQC8NONAME->Data()); + } + + if(entryIntFlowFQDNONAME) + { + (*entryIntFlowFQDNONAME)+=(Long_t)fqdCountRealNONAME; + entryIntFlowFQDNONAME->Append(" out of "); + (*entryIntFlowFQDNONAME)+=(Long_t)counter; + if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowFQDNONAME->Data()); + } + + if(entryIntFlowLYZ1NONAME) + { + (*entryIntFlowLYZ1NONAME)+=(Long_t)lyz1CountRealNONAME; + entryIntFlowLYZ1NONAME->Append(" out of "); + (*entryIntFlowLYZ1NONAME)+=(Long_t)counter; + if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowLYZ1NONAME->Data()); + } + + if(entryIntFlowLYZEPNONAME) + { + (*entryIntFlowLYZEPNONAME)+=(Long_t)lyzepCountRealNONAME; + entryIntFlowLYZEPNONAME->Append(" out of "); + (*entryIntFlowLYZEPNONAME)+=(Long_t)counter; + if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowLYZEPNONAME->Data()); + } + + if(textDefaultNONAME) textDefaultNONAME->Draw(); + if(textResultsNONAME) textResultsNONAME->Draw(); + } -void LoadPlotLibraries(const libModes mode) { +void LoadSpreadLibraries(const libModes mode) { //-------------------------------------- // Load the needed libraries most of them already loaded by aliroot -- 2.39.3