diff --git a/PhysicsAnalysis/TauID/TauHistUtils/TauHistUtils/RecoTauPlots.h b/PhysicsAnalysis/TauID/TauHistUtils/TauHistUtils/RecoTauPlots.h index 514df2351995c110928547dea7e7df3d06f23571..261e18e73bc3e14b9c8c27eb22328717ab74b9cb 100644 --- a/PhysicsAnalysis/TauID/TauHistUtils/TauHistUtils/RecoTauPlots.h +++ b/PhysicsAnalysis/TauID/TauHistUtils/TauHistUtils/RecoTauPlots.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ #ifndef TAUHISTUTILS_RECOTAUPLOTS_H @@ -23,11 +23,6 @@ class RecoTauPlots: public PlotBase { Tau::ParamPlots m_oParamPlots; //Here I try to include CellBased substructure variables, from the Particle FLow Object (PFO), begining with basic charged and neutral PFO 4-vector. - TH1* m_cellBased_charPFO_Pt; - TH1* m_cellBased_charPFO_Eta; - TH1* m_cellBased_charPFO_Phi; - TH1* m_cellBased_charPFO_E; - TH1* m_cellBased_neuPFO_Pt; TH1* m_cellBased_neuPFO_Eta; TH1* m_cellBased_neuPFO_Phi; diff --git a/PhysicsAnalysis/TauID/TauHistUtils/src/Migration.cxx b/PhysicsAnalysis/TauID/TauHistUtils/src/Migration.cxx index 8aff22a1adf797dfd1b71af1c111653708de03d0..339915de29da2e5c9a0f4c421a14655a825a7c40 100644 --- a/PhysicsAnalysis/TauID/TauHistUtils/src/Migration.cxx +++ b/PhysicsAnalysis/TauID/TauHistUtils/src/Migration.cxx @@ -1,196 +1,186 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ #include "TauHistUtils/Migration.h" namespace Tau{ -Migration::Migration(PlotBase* pParent, std::string sDir, std::string sTauJetContainerName): - PlotBase(pParent, sDir), - m_migration_panTau(nullptr), - m_migration_panTauProto(nullptr), - m_migration_cellBased(nullptr), - m_sTauJetContainerName(sTauJetContainerName) -{ -} + Migration::Migration(PlotBase* pParent, std::string sDir, std::string sTauJetContainerName): + PlotBase(pParent, sDir), + m_migration_panTau(nullptr), + m_migration_panTauProto(nullptr), + m_migration_cellBased(nullptr), + m_sTauJetContainerName(sTauJetContainerName) + { + } -Migration::~Migration() -{ -} + Migration::~Migration() + { + } -void Migration::initializePlots() -{ - m_migration_panTau = Book1D("panTau_migration",m_sTauJetContainerName + " panTau migration",DECAYSIZE,0,DECAYSIZE); - m_migration_panTauProto = Book1D("panTauProto_migration",m_sTauJetContainerName + " panTau proto migration",DECAYSIZE,0,DECAYSIZE); - m_migration_cellBased = Book1D("cellBased_migration",m_sTauJetContainerName + " cellBased migration",DECAYSIZE,0,DECAYSIZE); - m_migration_panTau->GetXaxis()->SetLabelSize(0.05); - m_migration_panTauProto->GetXaxis()->SetLabelSize(0.05); - m_migration_cellBased->GetXaxis()->SetLabelSize(0.05); - for(int i=1; i<= DECAYSIZE;i++){ + void Migration::initializePlots() + { + m_migration_panTau = Book1D("panTau_migration",m_sTauJetContainerName + " panTau migration",DECAYSIZE,0,DECAYSIZE); + m_migration_panTauProto = Book1D("panTauProto_migration",m_sTauJetContainerName + " panTau proto migration",DECAYSIZE,0,DECAYSIZE); + m_migration_cellBased = Book1D("cellBased_migration",m_sTauJetContainerName + " cellBased migration",DECAYSIZE,0,DECAYSIZE); + m_migration_panTau->GetXaxis()->SetLabelSize(0.05); + m_migration_panTauProto->GetXaxis()->SetLabelSize(0.05); + m_migration_cellBased->GetXaxis()->SetLabelSize(0.05); + for(int i=1; i<= DECAYSIZE;i++){ m_migration_panTauProto->GetXaxis()->SetBinLabel(i,m_lable[i-1]); m_migration_panTau->GetXaxis()->SetBinLabel(i,m_lable[i-1]); m_migration_cellBased->GetXaxis()->SetBinLabel(i,m_lable[i-1]); - } -} + } + } -void Migration::fill( - const xAOD::TauJet& thisTau, - xAOD::TauJetParameters::DecayMode trueMode) -{ + void Migration::fill(const xAOD::TauJet& thisTau, + xAOD::TauJetParameters::DecayMode trueMode) + { - int isPanTauCandidate = 0; - bool foundDetail = thisTau.panTauDetail( - xAOD::TauJetParameters::PanTauDetails::PanTau_isPanTauCandidate, - isPanTauCandidate); - if ( !foundDetail || !isPanTauCandidate ) return; + int isPanTauCandidate = 0; + bool foundDetail = thisTau.panTauDetail(xAOD::TauJetParameters::PanTauDetails::PanTau_isPanTauCandidate, isPanTauCandidate); + if ( !foundDetail || !isPanTauCandidate ) return; - // panTau - int recMode = xAOD::TauJetParameters::DecayMode::Mode_Error; - foundDetail = thisTau.panTauDetail( - xAOD::TauJetParameters::PanTauDetails::PanTau_DecayMode, - recMode); - if ( foundDetail ) decayModeFill(trueMode, recMode, m_migration_panTau); + // panTau + int recMode = xAOD::TauJetParameters::DecayMode::Mode_Error; + foundDetail = thisTau.panTauDetail(xAOD::TauJetParameters::PanTauDetails::PanTau_DecayMode, recMode); + if ( foundDetail ) decayModeFill(trueMode, recMode, m_migration_panTau); - // panTauProto - recMode = xAOD::TauJetParameters::DecayMode::Mode_Error; - foundDetail = thisTau.panTauDetail( - xAOD::TauJetParameters::PanTauDetails::PanTau_DecayModeProto, - recMode); - if ( foundDetail ) { + // panTauProto + recMode = xAOD::TauJetParameters::DecayMode::Mode_Error; + foundDetail = thisTau.panTauDetail(xAOD::TauJetParameters::PanTauDetails::PanTau_DecayModeProto, recMode); + if ( foundDetail ) { decayModeFill(trueMode, recMode, m_migration_panTauProto); - } + } + + int cellP = thisTau.nTracks(); - // Cellbased - // Get number of charged pions - std::vector<ElementLink<xAOD::PFOContainer>> cellBased_chargedPFO - = thisTau.protoChargedPFOLinks(); - int cellP = cellBased_chargedPFO.size(); - // Get number of neutral pions - int nPi0_tau = 0; - std::vector<ElementLink<xAOD::PFOContainer>> cellBased_neutralPFO + // Get number of neutral pions + int nPi0_tau = 0; + std::vector<ElementLink<xAOD::PFOContainer>> cellBased_neutralPFO = thisTau.protoNeutralPFOLinks(); - std::vector<ElementLink<xAOD::PFOContainer>>::iterator + std::vector<ElementLink<xAOD::PFOContainer>>::iterator first_cellBased_neutralPFO = cellBased_neutralPFO.begin(); - std::vector<ElementLink<xAOD::PFOContainer>>::iterator + std::vector<ElementLink<xAOD::PFOContainer>>::iterator last_cellBased_neutralPFO = cellBased_neutralPFO.end(); - for ( ; first_cellBased_neutralPFO != last_cellBased_neutralPFO; - ++first_cellBased_neutralPFO ) { + for ( ; first_cellBased_neutralPFO != last_cellBased_neutralPFO; + ++first_cellBased_neutralPFO ) { ElementLink<xAOD::PFOContainer> thisLink = *first_cellBased_neutralPFO; const xAOD::PFO* thisPFO = *thisLink; int myNPi0Proto = 0; if ( thisPFO->attribute(xAOD::PFODetails::nPi0Proto, myNPi0Proto) ) { - nPi0_tau+=myNPi0Proto; + nPi0_tau+=myNPi0Proto; } - } - decayModeFill(trueMode, cellP, nPi0_tau, m_migration_cellBased); -} + } + decayModeFill(trueMode, cellP, nPi0_tau, m_migration_cellBased); + } -void Migration::decayModeFill(int trueMode, int recMode, TH1 *histo) -{ - if ( recMode >= xAOD::TauJetParameters::DecayMode::Mode_Other - || trueMode >= xAOD::TauJetParameters::DecayMode::Mode_Other ) return; + void Migration::decayModeFill(int trueMode, int recMode, TH1 *histo) + { + if ( recMode >= xAOD::TauJetParameters::DecayMode::Mode_Other + || trueMode >= xAOD::TauJetParameters::DecayMode::Mode_Other ) return; - switch ( trueMode ) { - case xAOD::TauJetParameters::DecayMode::Mode_1p0n: + switch ( trueMode ) { + case xAOD::TauJetParameters::DecayMode::Mode_1p0n: switch ( recMode ) { case xAOD::TauJetParameters::DecayMode::Mode_1p0n: - histo->Fill(t10r10 + 0.5); - break; + histo->Fill(t10r10 + 0.5); + break; case xAOD::TauJetParameters::DecayMode::Mode_1p1n: - histo->Fill(t10r11 + 0.5); - break; + histo->Fill(t10r11 + 0.5); + break; case xAOD::TauJetParameters::DecayMode::Mode_1pXn: - histo->Fill(t10r1x + 0.5); - break; + histo->Fill(t10r1x + 0.5); + break; default: - histo->Fill(t1r3 + 0.5); - break; + histo->Fill(t1r3 + 0.5); + break; } break; - case xAOD::TauJetParameters::DecayMode::Mode_1p1n: + case xAOD::TauJetParameters::DecayMode::Mode_1p1n: switch ( recMode ) { case xAOD::TauJetParameters::DecayMode::Mode_1p0n: - histo->Fill(t11r10 + 0.5); - break; + histo->Fill(t11r10 + 0.5); + break; case xAOD::TauJetParameters::DecayMode::Mode_1p1n: - histo->Fill(t11r11 + 0.5); - break; + histo->Fill(t11r11 + 0.5); + break; case xAOD::TauJetParameters::DecayMode::Mode_1pXn: - histo->Fill(t11r1x + 0.5); - break; + histo->Fill(t11r1x + 0.5); + break; default: - histo->Fill(t1r3 + 0.5); - break; + histo->Fill(t1r3 + 0.5); + break; } break; - case xAOD::TauJetParameters::DecayMode::Mode_1pXn: + case xAOD::TauJetParameters::DecayMode::Mode_1pXn: switch ( recMode ) { case xAOD::TauJetParameters::DecayMode::Mode_1p0n: - histo->Fill(t1xr10 + 0.5); - break; + histo->Fill(t1xr10 + 0.5); + break; case xAOD::TauJetParameters::DecayMode::Mode_1p1n: - histo->Fill(t1xr11 + 0.5); - break; + histo->Fill(t1xr11 + 0.5); + break; case xAOD::TauJetParameters::DecayMode::Mode_1pXn: - histo->Fill(t1xr1x + 0.5); - break; + histo->Fill(t1xr1x + 0.5); + break; default: - histo->Fill(t1r3 + 0.5); - break; + histo->Fill(t1r3 + 0.5); + break; } break; - case xAOD::TauJetParameters::DecayMode::Mode_3p0n: + case xAOD::TauJetParameters::DecayMode::Mode_3p0n: switch ( recMode ) { case xAOD::TauJetParameters::DecayMode::Mode_3p0n: - histo->Fill(t30r30 + 0.5); - break; + histo->Fill(t30r30 + 0.5); + break; case xAOD::TauJetParameters::DecayMode::Mode_3pXn: - histo->Fill(t30r3x + 0.5); - break; + histo->Fill(t30r3x + 0.5); + break; default: - histo->Fill(t3r1 + 0.5); - break; + histo->Fill(t3r1 + 0.5); + break; } break; - case xAOD::TauJetParameters::DecayMode::Mode_3pXn: + case xAOD::TauJetParameters::DecayMode::Mode_3pXn: switch ( recMode ) { case xAOD::TauJetParameters::DecayMode::Mode_3p0n: - histo->Fill(t3xr30 + 0.5); - break; + histo->Fill(t3xr30 + 0.5); + break; case xAOD::TauJetParameters::DecayMode::Mode_3pXn: - histo->Fill(t3xr3x + 0.5); - break; + histo->Fill(t3xr3x + 0.5); + break; default: - histo->Fill(t3r1 + 0.5); - break; + histo->Fill(t3r1 + 0.5); + break; } break; - } - return; -} + } + return; + } -void Migration::decayModeFill(int trueMode, int recP, int recN, TH1 *histo) -{ - xAOD::TauJetParameters::DecayMode recMode + void Migration::decayModeFill(int trueMode, int recP, int recN, TH1 *histo) + { + xAOD::TauJetParameters::DecayMode recMode = xAOD::TauJetParameters::DecayMode::Mode_Error; - if ( recP == 1 && recN == 0 ) { + if ( recP == 1 && recN == 0 ) { recMode = xAOD::TauJetParameters::DecayMode::Mode_1p0n; - } - if ( recP == 1 && recN == 1 ) { + } + if ( recP == 1 && recN == 1 ) { recMode = xAOD::TauJetParameters::DecayMode::Mode_1p1n; - } - if ( recP == 1 && recN > 1 ) { + } + if ( recP == 1 && recN > 1 ) { recMode = xAOD::TauJetParameters::DecayMode::Mode_1pXn; - } - if ( recP == 3 && recN == 0 ) { + } + if ( recP == 3 && recN == 0 ) { recMode = xAOD::TauJetParameters::DecayMode::Mode_3p0n; - } - if ( recP == 3 && recN >= 1 ){ + } + if ( recP == 3 && recN >= 1 ){ recMode = xAOD::TauJetParameters::DecayMode::Mode_3pXn; - } - this->decayModeFill(trueMode, recMode, histo); -} + } + this->decayModeFill(trueMode, recMode, histo); + } } diff --git a/PhysicsAnalysis/TauID/TauHistUtils/src/RecoTauPlots.cxx b/PhysicsAnalysis/TauID/TauHistUtils/src/RecoTauPlots.cxx index 59e1469235a7bd07599ff5040e71b23b2a6d318c..d95f0ebd73ee969ef2d9e2eafd49f79571fb4d9a 100644 --- a/PhysicsAnalysis/TauID/TauHistUtils/src/RecoTauPlots.cxx +++ b/PhysicsAnalysis/TauID/TauHistUtils/src/RecoTauPlots.cxx @@ -1,50 +1,46 @@ /* - Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ #include "TauHistUtils/RecoTauPlots.h" namespace Tau{ -RecoTauPlots::RecoTauPlots(PlotBase* pParent, std::string sDir, std::string sTauJetContainerName): - PlotBase(pParent, sDir), - m_oParamPlots(this, "", sTauJetContainerName), - m_cellBased_charPFO_Pt(nullptr), - m_cellBased_charPFO_Eta(nullptr), - m_cellBased_charPFO_Phi(nullptr), - m_cellBased_charPFO_E(nullptr), - m_cellBased_neuPFO_Pt(nullptr), - m_cellBased_neuPFO_Eta(nullptr), - m_cellBased_neuPFO_Phi(nullptr), - m_cellBased_neuPFO_E(nullptr), - m_cellBased_neuPFO_bdtPi0Score(nullptr), - m_pantau_CellBasedInput_isPanTauCandidate(nullptr), - m_pantau_CellBasedInput_DecayMode(nullptr), - m_pantau_CellBasedInput_BDTValue_1p0n_vs_1p1n(nullptr), - m_pantau_CellBasedInput_BDTValue_1p1n_vs_1pXn(nullptr), - m_pantau_CellBasedInput_BDTValue_3p0n_vs_3pXn(nullptr), - m_pantau_CellBasedInput_BDTVar_Basic_NNeutralConsts(nullptr), - m_pantau_CellBasedInput_BDTVar_Charged_JetMoment_EtDRxTotalEt(nullptr), - m_pantau_CellBasedInput_BDTVar_Charged_StdDev_Et_WrtEtAllConsts(nullptr), - m_pantau_CellBasedInput_BDTVar_Charged_HLV_SumM(nullptr), - m_pantau_CellBasedInput_BDTVar_Neutral_HLV_SumM(nullptr), - m_pantau_CellBasedInput_BDTVar_Neutral_PID_BDTValues_BDTSort_1(nullptr), - m_pantau_CellBasedInput_BDTVar_Neutral_PID_BDTValues_BDTSort_2(nullptr), - m_pantau_CellBasedInput_BDTVar_Neutral_Ratio_1stBDTEtOverEtAllConsts(nullptr), - m_pantau_CellBasedInput_BDTVar_Neutral_Ratio_EtOverEtAllConsts(nullptr), - m_pantau_CellBasedInput_BDTVar_Neutral_Shots_NPhotonsInSeed(nullptr), - m_pantau_CellBasedInput_BDTVar_Combined_DeltaR1stNeutralTo1stCharged(nullptr), - m_id_BDTJetScore(nullptr), - m_id_BDTEleScore(nullptr), - m_sTauJetContainerName(sTauJetContainerName) -{ -} + RecoTauPlots::RecoTauPlots(PlotBase* pParent, std::string sDir, std::string sTauJetContainerName): + PlotBase(pParent, sDir), + m_oParamPlots(this, "", sTauJetContainerName), + m_cellBased_neuPFO_Pt(nullptr), + m_cellBased_neuPFO_Eta(nullptr), + m_cellBased_neuPFO_Phi(nullptr), + m_cellBased_neuPFO_E(nullptr), + m_cellBased_neuPFO_bdtPi0Score(nullptr), + m_pantau_CellBasedInput_isPanTauCandidate(nullptr), + m_pantau_CellBasedInput_DecayMode(nullptr), + m_pantau_CellBasedInput_BDTValue_1p0n_vs_1p1n(nullptr), + m_pantau_CellBasedInput_BDTValue_1p1n_vs_1pXn(nullptr), + m_pantau_CellBasedInput_BDTValue_3p0n_vs_3pXn(nullptr), + m_pantau_CellBasedInput_BDTVar_Basic_NNeutralConsts(nullptr), + m_pantau_CellBasedInput_BDTVar_Charged_JetMoment_EtDRxTotalEt(nullptr), + m_pantau_CellBasedInput_BDTVar_Charged_StdDev_Et_WrtEtAllConsts(nullptr), + m_pantau_CellBasedInput_BDTVar_Charged_HLV_SumM(nullptr), + m_pantau_CellBasedInput_BDTVar_Neutral_HLV_SumM(nullptr), + m_pantau_CellBasedInput_BDTVar_Neutral_PID_BDTValues_BDTSort_1(nullptr), + m_pantau_CellBasedInput_BDTVar_Neutral_PID_BDTValues_BDTSort_2(nullptr), + m_pantau_CellBasedInput_BDTVar_Neutral_Ratio_1stBDTEtOverEtAllConsts(nullptr), + m_pantau_CellBasedInput_BDTVar_Neutral_Ratio_EtOverEtAllConsts(nullptr), + m_pantau_CellBasedInput_BDTVar_Neutral_Shots_NPhotonsInSeed(nullptr), + m_pantau_CellBasedInput_BDTVar_Combined_DeltaR1stNeutralTo1stCharged(nullptr), + m_id_BDTJetScore(nullptr), + m_id_BDTEleScore(nullptr), + m_sTauJetContainerName(sTauJetContainerName) + { + } -RecoTauPlots::~RecoTauPlots() -{ -} + RecoTauPlots::~RecoTauPlots() + { + } -void RecoTauPlots::initializePlots(){ + void RecoTauPlots::initializePlots(){ // m_oParamPlots.initialize(); @@ -53,62 +49,44 @@ void RecoTauPlots::initializePlots(){ +++++++++++++++++++CellBased+++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++*/ - m_cellBased_charPFO_Pt = Book1D("cellBased_PFO_c_Pt",m_sTauJetContainerName + " Charged PFO pt; pt; # PFO",200,0.,200000.); - m_cellBased_charPFO_Eta = Book1D("cellBased_PFO_c_Eta",m_sTauJetContainerName + " Charged PFO eta; eta; # PFO",128,-3.2,3.2); - m_cellBased_charPFO_Phi = Book1D("cellBased_PFO_c_Phi",m_sTauJetContainerName + " Charged PFO phi; phi; # PFO",128,-3.2,3.2); - m_cellBased_charPFO_E = Book1D("cellBased_PFO_c_E",m_sTauJetContainerName + " Charged PFO E; E; # PFO",200,0.,200000.); - m_cellBased_neuPFO_Pt = Book1D("cellBased_PFO_n_Pt",m_sTauJetContainerName + " Neutral PFO pt; pt; # PFO",200,0.,200000.); - m_cellBased_neuPFO_Eta = Book1D("cellBased_PFO_n_Eta",m_sTauJetContainerName + " Neutral PFO eta; eta; # PFO",128,-3.2,3.2); - m_cellBased_neuPFO_Phi = Book1D("cellBased_PFO_n_Phi",m_sTauJetContainerName + " Neutral PFO phi; phi; # PFO",64,-3.2,3.2); - m_cellBased_neuPFO_E = Book1D("cellBased_PFO_n_E",m_sTauJetContainerName + " Neutral PFO E; E; # PFO",200,0.,200000.); - m_cellBased_neuPFO_bdtPi0Score = Book1D("cellBased_PFO_n_bdtPi0Score",m_sTauJetContainerName + " Neutral PFO BDT Pi0 Score; Score; # PFO",60,-1.0,1.0); + m_cellBased_neuPFO_Pt = Book1D("cellBased_PFO_n_Pt",m_sTauJetContainerName + " Neutral PFO pt; pt; # PFO",200,0.,200000.); + m_cellBased_neuPFO_Eta = Book1D("cellBased_PFO_n_Eta",m_sTauJetContainerName + " Neutral PFO eta; eta; # PFO",128,-3.2,3.2); + m_cellBased_neuPFO_Phi = Book1D("cellBased_PFO_n_Phi",m_sTauJetContainerName + " Neutral PFO phi; phi; # PFO",64,-3.2,3.2); + m_cellBased_neuPFO_E = Book1D("cellBased_PFO_n_E",m_sTauJetContainerName + " Neutral PFO E; E; # PFO",200,0.,200000.); + m_cellBased_neuPFO_bdtPi0Score = Book1D("cellBased_PFO_n_bdtPi0Score",m_sTauJetContainerName + " Neutral PFO BDT Pi0 Score; Score; # PFO",60,-1.0,1.0); /*+++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++PANTAU++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++*/ - m_pantau_CellBasedInput_isPanTauCandidate = Book1D("pantau_CellBasedInput_isPanTauCandidate",m_sTauJetContainerName +"pantau_CellBasedInput_isPanTauCandidate", 2 ,0 ,2); - m_pantau_CellBasedInput_DecayMode = Book1D("pantau_CellBasedInput_DecayMode",m_sTauJetContainerName +"pantau_CellBasedInput_DecayMode", 6, -0.5, 5.5); - m_pantau_CellBasedInput_BDTValue_1p0n_vs_1p1n = Book1D("pantau_CellBasedInput_BDTValue_1p0n_vs_1p1n",m_sTauJetContainerName + "pantau_CellBasedInput_BDTValue_1p0n_vs_1p1n",30,-1.,1.); - m_pantau_CellBasedInput_BDTValue_1p1n_vs_1pXn = Book1D("pantau_CellBasedInput_BDTValue_1p1n_vs_1pXn",m_sTauJetContainerName + "pantau_CellBasedInput_BDTValue_1p1n_vs_1pXn",30,-1.,1.); - m_pantau_CellBasedInput_BDTValue_3p0n_vs_3pXn = Book1D("pantau_CellBasedInput_BDTValue_3p0n_vs_3pXn",m_sTauJetContainerName + "pantau_CellBasedInput_BDTValue_3p0n_vs_3pXn",30,-1.,1.); - m_pantau_CellBasedInput_BDTVar_Basic_NNeutralConsts = Book1D("pantau_CellBasedInput_BDTVar_Basic_NNeutralConsts",m_sTauJetContainerName + "pantau_CellBasedInput_BDTVar_Basic_NNeutralConsts",10.,-0.5,9.5); - m_pantau_CellBasedInput_BDTVar_Charged_JetMoment_EtDRxTotalEt = Book1D("pantau_CellBasedInput_BDTVar_Charged_JetMoment_EtDRxTotalEt",m_sTauJetContainerName + "pantau_CellBasedInput_BDTVar_Charged_JetMoment_EtDRxTotalEt", 30, 0.0, 4000.0); - m_pantau_CellBasedInput_BDTVar_Charged_StdDev_Et_WrtEtAllConsts = Book1D("pantau_CellBasedInput_BDTVar_Charged_StdDev_Et_WrtEtAllConsts",m_sTauJetContainerName + "pantau_CellBasedInput_BDTVar_Charged_StdDev_Et_WrtEtAllConsts",30,0.,0.6); - m_pantau_CellBasedInput_BDTVar_Charged_HLV_SumM = Book1D("pantau_CellBasedInput_BDTVar_Charged_HLV_SumM",m_sTauJetContainerName + "pantau_CellBasedInput_BDTVar_Charged_HLV_SumM", 30, 0.0, 4000.0); - m_pantau_CellBasedInput_BDTVar_Neutral_HLV_SumM = Book1D("pantau_CellBasedInput_BDTVar_Neutral_HLV_SumM",m_sTauJetContainerName + "pantau_CellBasedInput_BDTVar_Neutral_HLV_SumM", 30, 0.0, 4000.0); - m_pantau_CellBasedInput_BDTVar_Neutral_PID_BDTValues_BDTSort_1 = Book1D("pantau_CellBasedInput_BDTVar_Neutral_PID_BDTValues_BDTSort_1",m_sTauJetContainerName + "pantau_CellBasedInput_BDTVar_Neutral_PID_BDTValues_BDTSort_1",30,-1.5,1.5); - m_pantau_CellBasedInput_BDTVar_Neutral_PID_BDTValues_BDTSort_2 = Book1D("pantau_CellBasedInput_BDTVar_Neutral_PID_BDTValues_BDTSort_2",m_sTauJetContainerName + "pantau_CellBasedInput_BDTVar_Neutral_PID_BDTValues_BDTSort_2",30,-1.5,1.5); - m_pantau_CellBasedInput_BDTVar_Neutral_Ratio_1stBDTEtOverEtAllConsts = Book1D("pantau_CellBasedInput_BDTVar_Neutral_Ratio_1stBDTEtOverEtAllConsts",m_sTauJetContainerName + "pantau_CellBasedInput_BDTVar_Neutral_Ratio_1stBDTEtOverEtAllConsts",30,0.,1.); - m_pantau_CellBasedInput_BDTVar_Neutral_Ratio_EtOverEtAllConsts = Book1D("pantau_CellBasedInput_BDTVar_Neutral_Ratio_EtOverEtAllConsts",m_sTauJetContainerName + "pantau_CellBasedInput_BDTVar_Neutral_Ratio_EtOverEtAllConsts",30,-0.5,1.2); - m_pantau_CellBasedInput_BDTVar_Neutral_Shots_NPhotonsInSeed = Book1D("pantau_CellBasedInput_BDTVar_Neutral_Shots_NPhotonsInSeed",m_sTauJetContainerName + "pantau_CellBasedInput_BDTVar_Neutral_Shots_NPhotonsInSeed",10,-0.5,9.5); - m_pantau_CellBasedInput_BDTVar_Combined_DeltaR1stNeutralTo1stCharged = Book1D("pantau_CellBasedInput_BDTVar_Combined_DeltaR1stNeutralTo1stCharged",m_sTauJetContainerName + "pantau_CellBasedInput_BDTVar_Combined_DeltaR1stNeutralTo1stCharged",30,0.,0.6); + m_pantau_CellBasedInput_isPanTauCandidate = Book1D("pantau_CellBasedInput_isPanTauCandidate",m_sTauJetContainerName +"pantau_CellBasedInput_isPanTauCandidate", 2 ,0 ,2); + m_pantau_CellBasedInput_DecayMode = Book1D("pantau_CellBasedInput_DecayMode",m_sTauJetContainerName +"pantau_CellBasedInput_DecayMode", 6, -0.5, 5.5); + m_pantau_CellBasedInput_BDTValue_1p0n_vs_1p1n = Book1D("pantau_CellBasedInput_BDTValue_1p0n_vs_1p1n",m_sTauJetContainerName + "pantau_CellBasedInput_BDTValue_1p0n_vs_1p1n",30,-1.,1.); + m_pantau_CellBasedInput_BDTValue_1p1n_vs_1pXn = Book1D("pantau_CellBasedInput_BDTValue_1p1n_vs_1pXn",m_sTauJetContainerName + "pantau_CellBasedInput_BDTValue_1p1n_vs_1pXn",30,-1.,1.); + m_pantau_CellBasedInput_BDTValue_3p0n_vs_3pXn = Book1D("pantau_CellBasedInput_BDTValue_3p0n_vs_3pXn",m_sTauJetContainerName + "pantau_CellBasedInput_BDTValue_3p0n_vs_3pXn",30,-1.,1.); + m_pantau_CellBasedInput_BDTVar_Basic_NNeutralConsts = Book1D("pantau_CellBasedInput_BDTVar_Basic_NNeutralConsts",m_sTauJetContainerName + "pantau_CellBasedInput_BDTVar_Basic_NNeutralConsts",10.,-0.5,9.5); + m_pantau_CellBasedInput_BDTVar_Charged_JetMoment_EtDRxTotalEt = Book1D("pantau_CellBasedInput_BDTVar_Charged_JetMoment_EtDRxTotalEt",m_sTauJetContainerName + "pantau_CellBasedInput_BDTVar_Charged_JetMoment_EtDRxTotalEt", 30, 0.0, 4000.0); + m_pantau_CellBasedInput_BDTVar_Charged_StdDev_Et_WrtEtAllConsts = Book1D("pantau_CellBasedInput_BDTVar_Charged_StdDev_Et_WrtEtAllConsts",m_sTauJetContainerName + "pantau_CellBasedInput_BDTVar_Charged_StdDev_Et_WrtEtAllConsts",30,0.,0.6); + m_pantau_CellBasedInput_BDTVar_Charged_HLV_SumM = Book1D("pantau_CellBasedInput_BDTVar_Charged_HLV_SumM",m_sTauJetContainerName + "pantau_CellBasedInput_BDTVar_Charged_HLV_SumM", 30, 0.0, 4000.0); + m_pantau_CellBasedInput_BDTVar_Neutral_HLV_SumM = Book1D("pantau_CellBasedInput_BDTVar_Neutral_HLV_SumM",m_sTauJetContainerName + "pantau_CellBasedInput_BDTVar_Neutral_HLV_SumM", 30, 0.0, 4000.0); + m_pantau_CellBasedInput_BDTVar_Neutral_PID_BDTValues_BDTSort_1 = Book1D("pantau_CellBasedInput_BDTVar_Neutral_PID_BDTValues_BDTSort_1",m_sTauJetContainerName + "pantau_CellBasedInput_BDTVar_Neutral_PID_BDTValues_BDTSort_1",30,-1.5,1.5); + m_pantau_CellBasedInput_BDTVar_Neutral_PID_BDTValues_BDTSort_2 = Book1D("pantau_CellBasedInput_BDTVar_Neutral_PID_BDTValues_BDTSort_2",m_sTauJetContainerName + "pantau_CellBasedInput_BDTVar_Neutral_PID_BDTValues_BDTSort_2",30,-1.5,1.5); + m_pantau_CellBasedInput_BDTVar_Neutral_Ratio_1stBDTEtOverEtAllConsts = Book1D("pantau_CellBasedInput_BDTVar_Neutral_Ratio_1stBDTEtOverEtAllConsts",m_sTauJetContainerName + "pantau_CellBasedInput_BDTVar_Neutral_Ratio_1stBDTEtOverEtAllConsts",30,0.,1.); + m_pantau_CellBasedInput_BDTVar_Neutral_Ratio_EtOverEtAllConsts = Book1D("pantau_CellBasedInput_BDTVar_Neutral_Ratio_EtOverEtAllConsts",m_sTauJetContainerName + "pantau_CellBasedInput_BDTVar_Neutral_Ratio_EtOverEtAllConsts",30,-0.5,1.2); + m_pantau_CellBasedInput_BDTVar_Neutral_Shots_NPhotonsInSeed = Book1D("pantau_CellBasedInput_BDTVar_Neutral_Shots_NPhotonsInSeed",m_sTauJetContainerName + "pantau_CellBasedInput_BDTVar_Neutral_Shots_NPhotonsInSeed",10,-0.5,9.5); + m_pantau_CellBasedInput_BDTVar_Combined_DeltaR1stNeutralTo1stCharged = Book1D("pantau_CellBasedInput_BDTVar_Combined_DeltaR1stNeutralTo1stCharged",m_sTauJetContainerName + "pantau_CellBasedInput_BDTVar_Combined_DeltaR1stNeutralTo1stCharged",30,0.,0.6); } - void RecoTauPlots::fill(const xAOD::TauJet& thisTau) { + void RecoTauPlots::fill(const xAOD::TauJet& thisTau) { - //Access Particle Flow Object + //Access Particle Flow Object /*+++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++CellBased+++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++*/ - //Charged Pions - std::vector< ElementLink< xAOD::PFOContainer > > cellBased_chargedPFO = thisTau.protoChargedPFOLinks(); - std::vector< ElementLink< xAOD::PFOContainer > >::iterator first_cellBased_chargedPFO = cellBased_chargedPFO.begin(); - std::vector< ElementLink< xAOD::PFOContainer > >::iterator last_cellBased_chargedPFO = cellBased_chargedPFO.end(); - - for (; first_cellBased_chargedPFO != last_cellBased_chargedPFO; ++first_cellBased_chargedPFO){ - ElementLink<xAOD::PFOContainer> thisLink = *first_cellBased_chargedPFO; - const xAOD::PFO* thisPFO = *thisLink; - m_cellBased_charPFO_Pt->Fill( thisPFO->pt()); - m_cellBased_charPFO_Eta->Fill( thisPFO->eta()); - m_cellBased_charPFO_Phi->Fill( thisPFO->phi()); - m_cellBased_charPFO_E->Fill( thisPFO->e()); - } - //Neutral Pions std::vector< ElementLink< xAOD::PFOContainer > > cellBased_neutralPFO = thisTau.protoNeutralPFOLinks(); std::vector< ElementLink< xAOD::PFOContainer > >::iterator first_cellBased_neutralPFO = cellBased_neutralPFO.begin();