From a403aff53b5fcb294f0d8d30aba5d3e55a5a250c Mon Sep 17 00:00:00 2001 From: odjuvsla Date: Thu, 7 Apr 2011 18:08:46 +0000 Subject: [PATCH] - Adding new histograms for MC/rec comparison --- PWG4/totEt/AliAnalysisTaskTotEt.cxx | 26 +++++++++++++++---- PWG4/totEt/AliAnalysisTaskTotEt.h | 3 +++ .../totEt/AliAnalysisTaskTransverseEnergy.cxx | 3 +++ PWG4/totEt/AliAnalysisTaskTransverseEnergy.h | 2 ++ 4 files changed, 29 insertions(+), 5 deletions(-) diff --git a/PWG4/totEt/AliAnalysisTaskTotEt.cxx b/PWG4/totEt/AliAnalysisTaskTotEt.cxx index 144768ab469..74db8972576 100644 --- a/PWG4/totEt/AliAnalysisTaskTotEt.cxx +++ b/PWG4/totEt/AliAnalysisTaskTotEt.cxx @@ -14,6 +14,7 @@ #include "TChain.h" #include "TList.h" #include "TH2F.h" +#include "THnSparse.h" #include "AliESDEvent.h" #include "AliMCEvent.h" @@ -26,6 +27,7 @@ #include "AliAnalysisEtMonteCarloEmcal.h" #include +#include using namespace std; @@ -36,6 +38,8 @@ AliAnalysisTaskTotEt::AliAnalysisTaskTotEt(const char *name, Bool_t isMc) : AliAnalysisTaskTransverseEnergy(name, isMc) ,fRecAnalysis(0) ,fMCAnalysis(0) + ,fSparseHistRecVsMc(0) + ,fSparseRecVsMc(0) { // Constructor @@ -60,13 +64,15 @@ AliAnalysisTaskTotEt::AliAnalysisTaskTotEt(const char *name, Bool_t isMc) : if (fMCConfigFile.Length()) { cout<<"Rereading AliAnalysisEtMonteCarloPhos configuration file..."<LoadMacro(fMCConfigFile); - fMCAnalysis = (AliAnalysisEtMonteCarloPhos *) gInterpreter->ProcessLine("ConfigEtMonteCarlo()"); + + fMCAnalysis = (AliAnalysisEtMonteCarloPhos *) gInterpreter->ProcessLine("ConfigEtMonteCarlo(false)"); + cout << fMCAnalysis << endl; } if (fRecoConfigFile.Length()) { cout<<"Rereading AliAnalysisEtReconstructedPhos configuration file..."<LoadMacro(fRecoConfigFile); - fRecAnalysis = (AliAnalysisEtReconstructedPhos *) gInterpreter->ProcessLine("ConfigEtReconstructed()"); + fRecAnalysis = (AliAnalysisEtReconstructedPhos *) gInterpreter->ProcessLine("ConfigEtReconstructed(false)"); } } // Define input and output slots here @@ -78,7 +84,7 @@ AliAnalysisTaskTotEt::AliAnalysisTaskTotEt(const char *name, Bool_t isMc) : } AliAnalysisTaskTotEt::~AliAnalysisTaskTotEt() {//Destructor - fOutputList->Clear(); +// fOutputList->Clear(); delete fRecAnalysis; delete fMCAnalysis; } @@ -94,8 +100,12 @@ void AliAnalysisTaskTotEt::UserCreateOutputObjects() fOutputList->SetOwner(); fRecAnalysis->FillOutputList(fOutputList); fMCAnalysis->FillOutputList(fOutputList); - fHistEtRecvsEtMC = new TH2F("fHistEtRecvsEtMC", "Reconstructed E_{t} vs MC E_{t}", 1000, 0.000, 100, 1000, 0.0001, 100); + fHistEtRecvsEtMC = new TH2F("fHistEtRecvsEtMC", "Reconstructed E_{T} vs MC E_{T}", 1000, 0.000, 100, 1000, 0.0001, 100); + fHistEtRecOverEtMC = new TH2F("fHistEtRecOverEtMC", "Reconstructed E_{T} over MC E_{T} vs centrality", 1000, 0.00, 2.0, 11, -0.5, 10.5); + fHistDiffEtRecEtMCOverEtMC = new TH2F("fHistDiffEtRecEtMCOverEtMC", "fHistDiffEtRecEtMCOverEtMC", 10000, 0.0, 1000, 1000, -5, 5); fOutputList->Add(fHistEtRecvsEtMC); + fOutputList->Add(fHistEtRecOverEtMC); + fOutputList->Add(fHistDiffEtRecEtMCOverEtMC); Bool_t selectPrimaries=kTRUE; if (fRecAnalysis->DataSet()==2009) { @@ -163,10 +173,16 @@ void AliAnalysisTaskTotEt::UserExec(Option_t *) AliMCEvent* mcEvent = MCEvent(); if (mcEvent) { + fMCAnalysis->SetCentralityObject(cent); fMCAnalysis->AnalyseEvent(mcEvent, fESDEvent); //fMCAnalysis->AnalyseEvent(mcEvent); } - fHistEtRecvsEtMC->Fill(fRecAnalysis->GetTotEtAcc(), fMCAnalysis->GetTotEt()); + if(fMCAnalysis) + { + fHistEtRecvsEtMC->Fill(fRecAnalysis->GetTotNeutralEtAcc(), fMCAnalysis->GetTotNeutralEtAcc()); + if(fMCAnalysis->GetTotNeutralEtAcc()) fHistEtRecOverEtMC->Fill(fRecAnalysis->GetTotNeutralEt()/fMCAnalysis->GetTotNeutralEtAcc(), cent->GetCentralityClass10("V0M")); + if(fMCAnalysis->GetTotNeutralEtAcc()) fHistDiffEtRecEtMCOverEtMC->Fill(fMCAnalysis->GetTotNeutralEt(), (fRecAnalysis->GetTotNeutralEt()-fMCAnalysis->GetTotNeutralEt())/fMCAnalysis->GetTotNeutralEt()); + } } } // Post output data. diff --git a/PWG4/totEt/AliAnalysisTaskTotEt.h b/PWG4/totEt/AliAnalysisTaskTotEt.h index 33dc38e5a5e..2e8c4e7fde4 100644 --- a/PWG4/totEt/AliAnalysisTaskTotEt.h +++ b/PWG4/totEt/AliAnalysisTaskTotEt.h @@ -36,6 +36,9 @@ private: AliAnalysisEtReconstructed *fRecAnalysis; // Rec AliAnalysisEtMonteCarlo *fMCAnalysis; // MC + THnSparseD *fSparseHistRecVsMc; + Double_t *fSparseRecVsMc; + ClassDef(AliAnalysisTaskTotEt, 2) }; diff --git a/PWG4/totEt/AliAnalysisTaskTransverseEnergy.cxx b/PWG4/totEt/AliAnalysisTaskTransverseEnergy.cxx index 92255b68b8c..dfefc23c5aa 100644 --- a/PWG4/totEt/AliAnalysisTaskTransverseEnergy.cxx +++ b/PWG4/totEt/AliAnalysisTaskTransverseEnergy.cxx @@ -26,6 +26,7 @@ AliAnalysisTaskTransverseEnergy::AliAnalysisTaskTransverseEnergy(const char* nam ,fMCConfigFile("ConfigEtMonteCarlo.C") ,fRecoConfigFile("ConfigEtReconstructed.C") ,fHistEtRecvsEtMC(0) + ,fHistEtRecOverEtMC(0) ,fEsdtrackCutsITSTPC(0) ,fEsdtrackCutsTPC(0) ,fEsdtrackCutsITS(0) @@ -44,6 +45,7 @@ AliAnalysisTaskTransverseEnergy::AliAnalysisTaskTransverseEnergy(const char* nam AliAnalysisTaskTransverseEnergy::~AliAnalysisTaskTransverseEnergy() { // destructor delete fHistEtRecvsEtMC; + delete fHistEtRecOverEtMC; delete fEsdtrackCutsITSTPC; delete fEsdtrackCutsTPC; delete fEsdtrackCutsITS; @@ -54,6 +56,7 @@ AliAnalysisTaskTransverseEnergy::~AliAnalysisTaskTransverseEnergy() Int_t AliAnalysisTaskTransverseEnergy::CheckPhysicsSelection(Int_t runNumber) { // Check if the physics selection is valid, if not load a new one + if (runNumber == fCurrentRunNum || fIsMc) { return 0; diff --git a/PWG4/totEt/AliAnalysisTaskTransverseEnergy.h b/PWG4/totEt/AliAnalysisTaskTransverseEnergy.h index bb92bdb26d1..adcb959fe56 100644 --- a/PWG4/totEt/AliAnalysisTaskTransverseEnergy.h +++ b/PWG4/totEt/AliAnalysisTaskTransverseEnergy.h @@ -53,6 +53,8 @@ protected: TString fRecoConfigFile; // the name of the ConfigFile TH2F *fHistEtRecvsEtMC; // Rec vs MC histo + TH2F *fHistEtRecOverEtMC; // Rec over MC histo + TH2F *fHistDiffEtRecEtMCOverEtMC; // Rec - MC over MC histo AliESDtrackCuts* fEsdtrackCutsITSTPC; // track cuts ITS&TPC AliESDtrackCuts* fEsdtrackCutsTPC; // track cuts TPC -- 2.39.3