diff --git a/Projects/AthenaP1/version.txt b/Projects/AthenaP1/version.txt index dd6eb88497c634fe40cfb379dfc0c7238d4b3287..8cd621c4d0a1c8f7fbe99ce46888046598989733 100644 --- a/Projects/AthenaP1/version.txt +++ b/Projects/AthenaP1/version.txt @@ -1 +1 @@ -21.1.24 \ No newline at end of file +21.1.26 \ No newline at end of file diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TrackAnalysis.h b/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TrackAnalysis.h index fcee3705b42ba9f5de961aac0753c7261c5253f6..ce0e916a8189f3ee3b7cf8b947e4bcc36b2214b3 100644 --- a/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TrackAnalysis.h +++ b/Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TrackAnalysis.h @@ -22,6 +22,7 @@ #include "TrigInDetAnalysis/Track.h" #include "TrigInDetAnalysis/TIDAEvent.h" #include "TrigInDetAnalysis/TIDAVertex.h" +#include "TrigInDetAnalysis/TIDARoiDescriptor.h" #include "TrigInDetAnalysis/TIDAFeatureStore.h" #include "TH1.h" @@ -35,7 +36,7 @@ public: mname(name), m_xBeamReference(0), m_yBeamReference(0), m_zBeamReference(0), m_xBeamTest(0), m_yBeamTest(0), m_zBeamTest(0), - m_event(0) + m_event(0), m_roi(0) { } virtual ~TrackAnalysis() { } @@ -50,6 +51,11 @@ public: const std::vector<TIDA::Track*>& tracks2, TrackAssociator* matcher ) = 0; + // virtual void execute( const std::vector<TIDA::Track*>& , + // const std::vector<TIDA::Track*>& , + // TrackAssociator* , + // TIDARoiDescriptor* =0 ) { } + virtual void execute_vtx( const std::vector<TIDA::Vertex*>& , const std::vector<TIDA::Vertex*>& , const TIDA::Event* =0 ) { } @@ -96,9 +102,12 @@ public: TIDA::FeatureStore& store() { return m_store; } - TIDA::Event* event() { return m_event; } + TIDA::Event* event() const { return m_event; } void setevent(TIDA::Event* e) { m_event=e; } + TIDARoiDescriptor* roi() const { return m_roi; } + void setroi(TIDARoiDescriptor* r) { m_roi=r; } + protected: /// identifier of the of the analysis - also used for the root @@ -122,7 +131,8 @@ protected: TIDA::FeatureStore m_store; - TIDA::Event* m_event; + TIDA::Event* m_event; + TIDARoiDescriptor* m_roi; }; diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Tier0.h b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Tier0.h index 65cfd11a57f0cfcae3e34ae62a5018e9fe40752a..9ebca8aff1cd08bf06fe74d389bbbd7f0d0c3f66 100644 --- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Tier0.h +++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/Analysis_Tier0.h @@ -31,10 +31,9 @@ class Analysis_Tier0 : public TrackAnalysis { virtual void initialise(); virtual void execute(const std::vector<TIDA::Track*>& referenceTracks, - const std::vector<TIDA::Track*>& testTracks, - TrackAssociator* associator); + const std::vector<TIDA::Track*>& testTracks, + TrackAssociator* associator ); - virtual void execute_vtx(const std::vector<TIDA::Vertex*>& vtx0, const std::vector<TIDA::Vertex*>& vtx1, const TIDA::Event* tevt=0 ); @@ -134,6 +133,9 @@ class Analysis_Tier0 : public TrackAnalysis { TH1F* h_trkd0; TH1F* h_trkz0; + TH1F* h_trketaroi; + TH1F* h_trketazroi; + TH1F* h_trkdd0; TH1F* h_trkdz0; diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/T_AnalysisConfig_Tier0.h b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/T_AnalysisConfig_Tier0.h index 5fbc5a9b28418e85ef58baf382e6a3125e27855f..4ca7809305aff1859f9f20ae25f89d1c8b77998a 100644 --- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/T_AnalysisConfig_Tier0.h +++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/TrigInDetAnalysisExample/T_AnalysisConfig_Tier0.h @@ -1174,7 +1174,9 @@ protected: m_associator->match( ref_tracks, test_tracks ); // std::cout << "SUTT: execute : N tracks " << ref_tracks.size() << " " << test_tracks.size() << std::endl; - + + + _analysis->setroi( &chain.rois().at(iroi).roi() ); _analysis->execute( ref_tracks, test_tracks, m_associator ); // std::cout << "chain " << m_chainNames[ichain] << " " << "\tvtx name " << vtx_name << std::endl; diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Tier0.cxx b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Tier0.cxx index c024e3faabb045646d967b4bf034dba40e11ca87..96ce3dd7c4bcd5652d7b92a30fe5ae89c186e553 100644 --- a/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Tier0.cxx +++ b/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/Analysis_Tier0.cxx @@ -102,6 +102,10 @@ void Analysis_Tier0::initialise() { h_trkd0 = new TH1F("reftrk_d0" , "Reference track d0", 101, -5.0, 5.0 ); h_trkz0 = new TH1F("reftrk_z0" , "Reference track z0", 50, -225., 225.); + h_trketaroi = new TH1F("reftrk_etaroi", "Reference track Eta - Roi Eta", 100, -2.5, 2.5) ; + h_trketazroi = new TH1F("reftrk_etazroi", "Reference track (Eta - Roi Eta)*Dz", 100, -2.5, 2.5) ; + + h_trkdd0 = new TH1F("reftrk_dd0" , "Reference track sigma(d0)", 101, -0.5, 0.5); h_trkdz0 = new TH1F("reftrk_dz0" , "Reference track sigma(z0)", 101, -2.5, 2.5); @@ -113,6 +117,10 @@ void Analysis_Tier0::initialise() { addHistogram(h_trkd0); addHistogram(h_trkz0); + addHistogram(h_trketaroi); + addHistogram(h_trketazroi); + + addHistogram(h_trkdd0); addHistogram(h_trkdz0); @@ -365,10 +373,12 @@ void Analysis_Tier0::initialise() { } +extern TIDARoiDescriptor* agroi; + void Analysis_Tier0::execute(const std::vector<TIDA::Track*>& referenceTracks, const std::vector<TIDA::Track*>& testTracks, - TrackAssociator* associator) { + TrackAssociator* associator ) { /// Loop over reference tracks std::vector<TIDA::Track*>::const_iterator reference = referenceTracks.begin(); @@ -542,6 +552,31 @@ void Analysis_Tier0::execute(const std::vector<TIDA::Track*>& referenceTracks, h_d0vsphi_rec->Fill( test->phi(), test->a0() ); } + else { + // std::cout << "Analysis: " << name() << " " << roi(); + // if ( roi() ) std::cout << "\t" << *roi(); + // std::cout << std::endl; + + // std::cout << "about to crash ? " << std::endl; + + if ( roi() ) { + + double deta = 0.5*(roi()->etaPlus() - roi()->etaMinus()); + + double Dzed = 0.5*(roi()->zedPlus() - roi()->zedMinus()); + double dzed = referenceZ0 - roi()->zed(); + + h_trketaroi->Fill( (referenceEta - roi()->eta())/deta ); + + h_trketazroi->Fill( (referenceEta - roi()->eta())*dzed/Dzed ); + + } + + // std::cout << "not crashed yet" << std::endl; + + + } + // else { // if ( referencePT*0.001 > 10 ) { /// in GeV // m_debug = true; @@ -576,3 +611,6 @@ double Analysis_Tier0::phi(double p) { } + + + diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisUser/Analysis/src/rmain.cxx b/Trigger/TrigAnalysis/TrigInDetAnalysisUser/Analysis/src/rmain.cxx index 4274d648c93f8e45beefb62d9edcb8559375de26..c90baf4a39408b9ccf1416422f70acd5616b161d 100644 --- a/Trigger/TrigAnalysis/TrigInDetAnalysisUser/Analysis/src/rmain.cxx +++ b/Trigger/TrigAnalysis/TrigInDetAnalysisUser/Analysis/src/rmain.cxx @@ -491,6 +491,7 @@ int main(int argc, char** argv) double Rmatch = 0.1; + int ntracks = 0; //bool printflag = false; // JK removed (unused) @@ -535,6 +536,11 @@ int main(int argc, char** argv) if ( inputdata.isTagDefined("nbl") ) nbl = inputdata.GetValue("nbl"); if ( inputdata.isTagDefined("chi2prob") ) chi2prob = inputdata.GetValue("chi2prob"); + if ( inputdata.isTagDefined("ntracks") ) ntracks = inputdata.GetValue("ntracks")+0.5; // rounding necessary ? + + + if ( inputdata.isTagDefined("chi2prob") ) chi2prob = inputdata.GetValue("chi2prob"); + /// only if not set from the command line if ( pdgId==0 && inputdata.isTagDefined("pdgId") ) pdgId = inputdata.GetValue("pdgId"); @@ -1049,14 +1055,23 @@ int main(int argc, char** argv) /// track selectors for efficiencies - bool fullyContainTracks = true; + bool fullyContainTracks = false; if ( inputdata.isTagDefined("FullyContainTracks") ) { fullyContainTracks = ( inputdata.GetValue("FullyContainTracks")==0 ? false : true ); } - dynamic_cast<Filter_Combined*>(refFilter)->setDebug(debugPrintout); - dynamic_cast<Filter_Combined*>(refFilter)->containtracks(fullyContainTracks); + bool containTracksPhi = true; + + if ( inputdata.isTagDefined("ContainTracksPhi") ) { + containTracksPhi = ( inputdata.GetValue("ContainTracksPhi")==0 ? false : true ); + } + + if ( dynamic_cast<Filter_Combined*>(refFilter) ) { + dynamic_cast<Filter_Combined*>(refFilter)->setDebug(debugPrintout); + dynamic_cast<Filter_Combined*>(refFilter)->containtracks(fullyContainTracks); + dynamic_cast<Filter_Combined*>(refFilter)->containtracksPhi(containTracksPhi); + } NtupleTrackSelector refTracks( refFilter ); NtupleTrackSelector offTracks( testFilter ); @@ -1070,7 +1085,6 @@ int main(int argc, char** argv) // NtupleTrackSelector testTracks( &filter_off ); // NtupleTrackSelector testTracks(&filter_roi); - /// do we want to filter the RoIs ? bool filterRoi = false; @@ -1903,7 +1917,10 @@ int main(int argc, char** argv) ConfVtxAnalysis* vtxanal = 0; analitr->second->store().find( vtxanal, "rvtx" ); - if ( vtxanal ) { + /// NB: because ntracks = 0 by default, this second clause should + /// always be true unless ntracks has been set to some value + if ( vtxanal && ( refp.size() >= size_t(ntracks) ) ) { + /// AAAAAARGH!!! because you cannot cast vector<T> to const vector<const T> /// we first need to copy the actual elements from the const vector, to a normal /// vector. This is because if we take the address of elements of a const vector<T> diff --git a/Trigger/TrigAnalysis/TrigInDetAnalysisUtils/TrigInDetAnalysisUtils/Filters.h b/Trigger/TrigAnalysis/TrigInDetAnalysisUtils/TrigInDetAnalysisUtils/Filters.h index eceaf142d1cbd6a197160d0a5cac2ef07fd639c1..4c4e164604e35ab071d5036e3c7cc7bc93e86997 100644 --- a/Trigger/TrigAnalysis/TrigInDetAnalysisUtils/TrigInDetAnalysisUtils/Filters.h +++ b/Trigger/TrigAnalysis/TrigInDetAnalysisUtils/TrigInDetAnalysisUtils/Filters.h @@ -230,6 +230,7 @@ public: Filter_Combined( TrackFilter* f1, TrackFilter* f2) : mf1(f1), mf2(f2), m_roi(0), m_debugPrintout(false), + m_containPhi(true), m_contain(false) { } @@ -241,6 +242,11 @@ public: void containtracks( bool b=true ) { m_contain=b; } + /// set / unset to allow the strict phi containment to be + /// used even if the full rigorous containement is not + + void containtracksPhi( bool b=true ) { m_containPhi=b; } + bool contains( const TIDA::Track* t, const TIDARoiDescriptor* r ) const { @@ -269,7 +275,7 @@ public: /// within an Roi but failthis condition bool contained_eta = ( t->eta()<r->etaPlus() && t->eta()>r->etaMinus() ); - if ( m_contain ) { + if ( m_contain || m_containPhi ) { /// includes calculation of approximate z position of the /// track at radius r and test if track within that z position at radius r @@ -287,9 +293,11 @@ public: double cross0 = zexit*r->rMinusZed() - rexit*r->zedMinusR(); double cross1 = zexit*r->rPlusZed() - rexit*r->zedPlusR(); - - if ( cross0>0 && cross1<0 ) contained_eta=true; - else contained_eta=false; + + if ( m_contain ) { + if ( cross0>0 && cross1<0 ) contained_eta=true; + else contained_eta=false; + } /// now check phi taking account of the track transverse curvature @@ -380,6 +388,7 @@ private: bool m_debugPrintout; + bool m_containPhi; bool m_contain; }; diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBtagFex.h b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBtagFex.h index d619837b57e929767397a373404356cc17c7cff0..4304a7efb3557a50de6abcedb9978a49890fad2a 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBtagFex.h +++ b/Trigger/TrigHypothesis/TrigBjetHypo/TrigBjetHypo/TrigBtagFex.h @@ -218,13 +218,13 @@ class TrigBtagFex: public HLT::FexAlgo { float m_mon_tag_MV2c10; float m_mon_tag_MV2c10_hybrid; float m_mon_tag_MV2c20; - //2017 variables - Nghia + //2017 variables float m_mon_tag_IP2_c; float m_mon_tag_IP2_cu; float m_mon_tag_IP3_c; float m_mon_tag_IP3_cu; - //JetFitter variables - Nghia + //JetFitter variables int m_mon_jf_n2tv; int m_mon_jf_ntrkv; int m_mon_jf_nvtx; @@ -233,17 +233,10 @@ class TrigBtagFex: public HLT::FexAlgo { float m_mon_jf_efrc; float m_mon_jf_dR; float m_mon_jf_sig3; - /// @brief JetFitter : Delta eta between jet and momentum sum of all tracks associated with displaced vertices reconstructed by JetFitter - float m_mon_jf_deta; - /// @brief JetFitter : Delta phi between jet and momentum sum of all tracks associated with displaced vertices reconstructed by JetFitter - float m_mon_jf_dphi; - //jet variables - Nghia + //jet variables float m_mon_jet_pt; float m_mon_jet_eta; - float sv_check; - float sv_mass_check ; - float jf_check; int m_mon_sv_bool; int m_mon_jf_bool; diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBtagFexMonitoring.py b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBtagFexMonitoring.py index 53a2ecd29845d5d7a93507a1896bc0e560ff5a0a..d8ed877a1fcfe760f0f3f55caf2b03cbd7c9dddd 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBtagFexMonitoring.py +++ b/Trigger/TrigHypothesis/TrigBjetHypo/python/TrigBtagFexMonitoring.py @@ -36,6 +36,8 @@ class TrigBtagFexMonitoring(TrigGenericMonitoringToolConfig): # xbins=200, xmin=-1., xmax=1.) ] self.Histograms += [ defineHistogram('tag_MV2c10', type='TH1F', title="BtagFex MV2c10 Discriminant", xbins=200, xmin=-1., xmax=1.) ] + self.Histograms += [ defineHistogram('tag_MV2c10_hybrid', type='TH1F', title="BtagFex MV2c10_hybrid Discriminant", + xbins=200, xmin=-1., xmax=1.) ] self.Histograms += [ defineHistogram('tag_MV2c20', type='TH1F', title="BtagFex MV2c20 Discriminant", xbins=200, xmin=-1., xmax=1.) ] self.Histograms += [ defineHistogram('tag_IP2_c', type='TH1F', title="BtagFex IP2D Likelihood Ratio between b- and c-jet", diff --git a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFex.cxx b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFex.cxx index 33e58654cb1cc2d3c195b98fbb32e1008b6f6563..658a84d5a326e99723daf01cd62e1abd0c04fac2 100755 --- a/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFex.cxx +++ b/Trigger/TrigHypothesis/TrigBjetHypo/src/TrigBtagFex.cxx @@ -357,7 +357,9 @@ HLT::ErrorCode TrigBtagFex::hltExecute(const HLT::TriggerElement* inputTE, HLT:: } // Fill monitoring variables - + float sv_check; + float sv_mass_check; + sv_mass_check = 0.0 ; trigBTagging->variable<float>("SV1", "masssvx", sv_mass_check); @@ -397,6 +399,11 @@ HLT::ErrorCode TrigBtagFex::hltExecute(const HLT::TriggerElement* inputTE, HLT:: m_mon_tag_SV1= -999; } //set default values for jets that SV is not found + /// @brief JetFitter : Delta eta between jet and momentum sum of all tracks associated with displaced vertices reconstructed by JetFitter + float m_mon_jf_deta; + /// @brief JetFitter : Delta phi between jet and momentum sum of all tracks associated with displaced vertices reconstructed by JetFitter + float m_mon_jf_dphi; + float jf_check; //Check JetFitter algorithm m_mon_jf_deta = -10.; diff --git a/Trigger/TrigMonitoring/TrigTauMonitoring/python/TrigTauMonitCategory.py b/Trigger/TrigMonitoring/TrigTauMonitoring/python/TrigTauMonitCategory.py index c0355b8583a7d5978cdb0a72ad9ebbbf60237e6b..7903638a5e8f830ad71a75760e991d77e2fcf7ba 100644 --- a/Trigger/TrigMonitoring/TrigTauMonitoring/python/TrigTauMonitCategory.py +++ b/Trigger/TrigMonitoring/TrigTauMonitoring/python/TrigTauMonitCategory.py @@ -26,7 +26,7 @@ monitoring_singleTau = 'tau25_medium1_tracktwo' monitoring_tau = [ 'tau0_perf_ptonly_L1TAU12', 'tau0_perf_ptonly_L1TAU100', #TES change. 'tau0_perf_ptonly_L1TAU60', - 'tau25_idperf_track', + #'tau25_idperf_track', 'tau25_idperf_tracktwo', 'tau25_perf_tracktwo', 'tau25_medium1_tracktwo', @@ -47,10 +47,28 @@ monitoring_tau = [ monitoring_tau_pp = [ 'tau0_perf_ptonly_L1TAU12', 'tau0_perf_ptonly_L1TAU100', - 'tau25_idperf_track', + #'tau25_idperf_track', 'tau25_idperf_tracktwo', 'tau25_perf_tracktwo', 'tau25_medium1_tracktwo', + 'tau25_verylooseRNN_tracktwo', + 'tau25_looseRNN_tracktwo', + 'tau25_mediumRNN_tracktwo', + 'tau25_tightRNN_tracktwo', + 'tau25_idperf_tracktwoMVA', + 'tau25_perf_tracktwoMVA', + 'tau25_medium1_tracktwoMVA', + 'tau25_verylooseRNN_tracktwoMVA', + 'tau25_looseRNN_tracktwoMVA', + 'tau25_mediumRNN_tracktwoMVA', + 'tau25_tightRNN_tracktwoMVA', + 'tau25_idperf_tracktwoEF', + 'tau25_perf_tracktwoEF', + 'tau25_medium1_tracktwoEF', + 'tau25_idperf_tracktwoEFmvaTES', + 'tau25_perf_tracktwoEFmvaTES', + 'tau25_medium1NoPt_tracktwoEFmvaTES', + 'tau25_medium1_tracktwoEFmvaTES', 'tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM', #keep this as reference for the L1Topo plots 'tau35_medium1_tracktwo_xe70_L1XE45', # tau+xe 'tau35_medium1_L1TAU20_tau25_medium1_L1TAU12_xe50', # 2tau+xe @@ -98,19 +116,37 @@ monitoring_tau_pp = [ monitoring_tau_validation = [ 'tau0_perf_ptonly_L1TAU12', 'tau0_perf_ptonly_L1TAU100', # 'tau0_perf_ptonly_L1TAU60', - 'tau25_idperf_track', - 'tau25_idperf_tracktwo', + #'tau25_idperf_track', 'tau25_perf_ptonly', + 'tau25_loose1_ptonly', + 'tau25_medium1_ptonly', + 'tau25_tight1_ptonly', + 'tau25_idperf_tracktwo', 'tau25_perf_tracktwo', 'tau25_medium1_tracktwo', 'tau25_loose1_tracktwo', 'tau25_tight1_tracktwo', + 'tau25_verylooseRNN_tracktwo', + 'tau25_looseRNN_tracktwo', + 'tau25_mediumRNN_tracktwo', + 'tau25_tightRNN_tracktwo', 'tau25_medium1_tracktwo_L1TAU12', 'tau25_medium1_tracktwo_L1TAU12IL', 'tau25_medium1_tracktwo_L1TAU12IT', - 'tau25_loose1_ptonly', - 'tau25_medium1_ptonly', - 'tau25_tight1_ptonly', + 'tau25_idperf_tracktwoMVA', + 'tau25_perf_tracktwoMVA', + 'tau25_medium1_tracktwoMVA', + 'tau25_verylooseRNN_tracktwoMVA', + 'tau25_looseRNN_tracktwoMVA', + 'tau25_mediumRNN_tracktwoMVA', + 'tau25_tightRNN_tracktwoMVA', + 'tau25_idperf_tracktwoEF', + 'tau25_perf_tracktwoEF', + 'tau25_medium1_tracktwoEF', + 'tau25_idperf_tracktwoEFmvaTES', + 'tau25_perf_tracktwoEFmvaTES', + 'tau25_medium1NoPt_tracktwoEFmvaTES', + 'tau25_medium1_tracktwoEFmvaTES', 'tau35_perf_tracktwo', 'tau35_perf_ptonly', 'tau35_medium1_tracktwo_xe70_L1XE45', # tau+xe diff --git a/Trigger/TrigMonitoring/TrigTauMonitoring/python/TrigTauMonitoringConfig.py b/Trigger/TrigMonitoring/TrigTauMonitoring/python/TrigTauMonitoringConfig.py index f2ec838723efd1556b9aba3410a69c7a559920f3..39981b6c45efa9057800fa699a1514d405369ac3 100644 --- a/Trigger/TrigMonitoring/TrigTauMonitoring/python/TrigTauMonitoringConfig.py +++ b/Trigger/TrigMonitoring/TrigTauMonitoring/python/TrigTauMonitoringConfig.py @@ -29,31 +29,62 @@ def TrigTauMonitoringTool(): ] ditau_topo_chains = [ - 'tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM', - 'tau35_medium1_tracktwo_tau25_medium1_tracktwo', # 2tau non-L1TOPO - 'tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1DR-TAU20ITAU12I', - 'tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1DR-TAU20ITAU12I-J25', # 2tau L1TOPO+J - 'tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30', - 'tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30_L1DR-TAU20ITAU12I', - 'tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30_L1DR-TAU20ITAU12I-J25', # 2tau L1TOPO+J - 'tau80_medium1_tracktwo_L1TAU60_tau35_medium1_tracktwo_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I', # 2tau L1TOPO + 'tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1TAU20IM_2TAU12IM', + 'tau35_medium1_tracktwo_tau25_medium1_tracktwo', # 2tau non-L1TOPO + 'tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1DR-TAU20ITAU12I', + 'tau35_medium1_tracktwo_tau25_medium1_tracktwo_L1DR-TAU20ITAU12I-J25', # 2tau L1TOPO+J + 'tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30', + 'tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30_L1DR-TAU20ITAU12I', + 'tau35_medium1_tracktwo_tau25_medium1_tracktwo_03dR30_L1DR-TAU20ITAU12I-J25', # 2tau L1TOPO+J + 'tau80_medium1_tracktwo_L1TAU60_tau35_medium1_tracktwo_L1TAU12IM_L1TAU60_DR-TAU20ITAU12I', # 2tau L1TOPO ] mutau_topo_chains = [ - 'mu14_ivarloose_tau25_medium1_tracktwo', # tau+mu non-L1TOPO - 'mu14_ivarloose_tau25_medium1_tracktwo_L1DR-MU10TAU12I_TAU12I-J25', # tau+mu L1TOPO - 'mu14_ivarloose_tau25_medium1_tracktwo_L1MU10_TAU20IM_J25_2J20', # tau+mu non-L1TOPO + 'mu14_ivarloose_tau25_medium1_tracktwo', # tau+mu non-L1TOPO + 'mu14_ivarloose_tau25_medium1_tracktwo_L1DR-MU10TAU12I_TAU12I-J25', # tau+mu L1TOPO + 'mu14_ivarloose_tau25_medium1_tracktwo_L1MU10_TAU20IM_J25_2J20', # tau+mu non-L1TOPO 'mu14_ivarloose_tau25_medium1_tracktwo_03dR30', 'mu14_ivarloose_tau25_medium1_tracktwo_03dR30_L1DR-MU10TAU12I_TAU12I-J25', ] eltau_topo_chains = [ 'e17_lhmedium_nod0_ivarloose_tau25_medium1_tracktwo', # tau+e+J non-L1TOPO - 'e17_lhmedium_nod0_ivarloose_tau25_medium1_tracktwo_L1DR-EM15TAU12I-J25', # tau+e+J L1TOPO + 'e17_lhmedium_nod0_ivarloose_tau25_medium1_tracktwo_L1DR-EM15TAU12I-J25', # tau+e+J L1TOPO 'e17_lhmedium_nod0_ivarloose_tau25_medium1_tracktwo_03dR30', 'e17_lhmedium_nod0_tau25_medium1_tracktwo_03dR30_L1DR-EM15TAU12I-J25', ] + MVA_chains = [ + 'tau25_idperf_tracktwoMVA', + 'tau25_perf_tracktwoMVA', + 'tau25_verylooseRNN_tracktwoMVA', + 'tau25_looseRNN_tracktwoMVA', + 'tau25_mediumRNN_tracktwoMVA', + 'tau25_tightRNN_tracktwoMVA', + ] + + RNN_chains = [ + 'tau25_verylooseRNN_tracktwo', + 'tau25_looseRNN_tracktwo', + 'tau25_mediumRNN_tracktwo', + 'tau25_verylooseRNN_tracktwoMVA', + 'tau25_looseRNN_tracktwoMVA', + 'tau25_mediumRNN_tracktwoMVA', + 'tau25_tightRNN_tracktwoMVA', + ] + + BDTRNN_chains = [ + 'tau25_perf_tracktwo', + 'tau25_idperf_tracktwo', + 'tau25_medium1_tracktwo', + 'tau25_idperf_tracktwoEF', + 'tau25_perf_tracktwoEF', + 'tau25_idperf_tracktwoEFmvaTES', + 'tau25_perf_tracktwoEFmvaTES', + 'tau25_idperf_tracktwoMVA', + 'tau25_perf_tracktwoMVA', + ] + tau_topo_support_chains = [ ] @@ -118,6 +149,7 @@ def TrigTauMonitoringTool(): primary_tau = full_tau, #[] prescaled_tau = [], #tau_track_test, #[], LowestSingleTau = hltmonList.monitoring_singleTau, #"tau25_medium1_tracktwo", + LowestSingleTauMVA = "tau25_mediumRNN_tracktwoMVA", Highpt_tau = highpt_tau, Ztt_tau = ztt_tau, EffOffTauPtCut = 25000., #MeV @@ -136,12 +168,17 @@ def TrigTauMonitoringTool(): # doTestTracking = False, doL1JetPlots = False, doEFTProfiles = False, + doFailTrackFilterBitMonitoring = True, + doRNNInOutMonitoring = True, domuCut40 = False, doEfficiencyRatioPlots = True, #False doL1TopoLeptonsMonitoringWarnings = False, topo_ditau_chains = ditau_topo_chains, topo_mutau_chains = mutau_topo_chains, topo_eltau_chains = eltau_topo_chains, + trigMVA_chains = MVA_chains, + trigRNN_chains = RNN_chains, + trigBDTRNN_chains = BDTRNN_chains, topo_support_chains = tau_topo_support_chains, doTopoValidation = False, L1TriggerCondition = "Physics", #allowResurrectedDecision, alsoDeactivateTEs, Physics [default] diff --git a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.cxx b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.cxx index 6d0ed7eb4ba55855581037fc810dd91a50961177..ecef6d011f26f559d683254cdca359ec12977e81 100755 --- a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.cxx +++ b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.cxx @@ -132,13 +132,19 @@ HLTTauMonTool::HLTTauMonTool(const std::string & type, const std::string & n, co declareProperty("doTopoValidation", m_doTopoValidation=false); declareProperty("doL1JetPlots", m_doL1JetPlots=false); declareProperty("doEFTProfiles", m_doEFTProfiles=false); + declareProperty("doFailTrackFilterBitMonitoring", m_doFailTrackFilterBitMonitoring=true); + declareProperty("doRNNInOutMonitoring", m_doRNNInOutMonitoring=true); declareProperty("domuCut40", m_domuCut40=false); declareProperty("doL1TopoLeptonsMonitoringWarnings", m_doL1TopoLeptonsMonitoringWarnings=false); declareProperty("topo_ditau_chains", m_topo_chains_ditau); declareProperty("topo_eltau_chains", m_topo_chains_eltau); declareProperty("topo_mutau_chains", m_topo_chains_mutau); + declareProperty("trigMVA_chains", m_trigMVA_chains); + declareProperty("trigRNN_chains", m_trigRNN_chains); + declareProperty("trigBDTRNN_chains", m_trigBDTRNN_chains); declareProperty("topo_support_chains", m_topo_support_chains); declareProperty("LowestSingleTau", m_lowest_singletau=""); + declareProperty("LowestSingleTauMVA", m_lowest_singletauMVA=""); declareProperty("L1TriggerCondition", m_L1StringCondition="Physics"); declareProperty("HLTTriggerCondition", m_HLTStringCondition="Physics"); declareProperty("nTrkMax", m_selection_nTrkMax=-1); @@ -245,13 +251,16 @@ StatusCode HLTTauMonTool::init() { m_trigItemsZtt.push_back(*it); } - // List of chains of interest for Efficiency Ratio plots between FTK and Reference (i.e. non-FTK/"tracktwo") chains. - m_LST_HLTsel_FTK_chains = {"tau12_idperf_FTK", "tau12_perf_FTK", "tau12_medium1_FTK"}; - m_LST_HLTsel0Prong_FTK_chains = {"tau12_idperf_FTK", "tau12_perf0_FTK", "tau12_medium0_FTK"}; - m_LST_HLTsel_FTKNoPrec_chains = {"tau12_idperf_FTK", "tau12_perf_FTK", "tau12_medium1_FTKNoPrec"}; - m_LST_HLTsel0Prong_FTKNoPrec_chains = {"tau12_idperf_FTK", "tau12_perf0_FTK", "tau12_medium0_FTKNoPrec"}; - m_LST_HLTsel_tracktwo_chains = {"tau25_idperf_tracktwo", "tau25_perf_tracktwo", "tau25_medium1_tracktwo"}; // Reference - m_Ratio = {"idperf", "perf", "medium1"}; + // List of chains of interest for Efficiency Ratio plots between FTK and Reference (i.e. non-FTK/"tracktwo") chains. + m_LST_HLTsel_FTK_chains = {"tau12_idperf_FTK", "tau12_perf_FTK", "tau12_medium1_FTK"}; + m_LST_HLTsel0Prong_FTK_chains = {"tau12_idperf_FTK", "tau12_perf0_FTK", "tau12_medium0_FTK"}; + m_LST_HLTsel_FTKNoPrec_chains = {"tau12_idperf_FTK", "tau12_perf_FTK", "tau12_medium1_FTKNoPrec"}; + m_LST_HLTsel0Prong_FTKNoPrec_chains = {"tau12_idperf_FTK", "tau12_perf0_FTK", "tau12_medium0_FTKNoPrec"}; + m_LST_HLTsel_tracktwo_chains = {"tau25_idperf_tracktwo", "tau25_perf_tracktwo", "tau25_medium1_tracktwo"}; // Reference + m_Ratio = {"idperf", "perf", "medium1"}; + // List of MVA triggers + + // HERE DOESN'T WORK SINCE TDT NOT YET INITIALISED // const Trig::ChainGroup* m_allHLTTauItems = getTDT()->getChainGroup("HLT_.*"); @@ -535,6 +544,15 @@ StatusCode HLTTauMonTool::fill() { if(!sc.isSuccess()) ATH_MSG_WARNING("Failed TopoLeptons() for eltau"); } + if (m_doFailTrackFilterBitMonitoring) { + for(unsigned int i=0;i<m_trigMVA_chains.size(); ++i){ + // monitor failtrackfilter bit + sc = FailTrackFilterMonitor ( m_trigMVA_chains.at(i) ); + if(!sc.isSuccess()) ATH_MSG_WARNING("Failed FailTrackFilterMonitor()"); + } + } + + // muCut on filling the histograms if (muCut40Passed) { @@ -616,6 +634,23 @@ StatusCode HLTTauMonTool::fillHistogramsForItem(const std::string & trigItem){ std::string trig_item_EF = "HLT_"+trigItem; std::string trig_item_L1(LowerChain( trig_item_EF ) ); if(trig_item_L1=="") {ATH_MSG_DEBUG("L1 chain for "<< trig_item_EF << " not found");} + + bool monRNN (false); + for (unsigned int i=0; i<m_trigRNN_chains.size(); i++) { + if ( trigItem == m_trigRNN_chains.at(i) ) { + monRNN = true; + break; + } + } + bool monBDT (false); + for (unsigned int i=0; i<m_trigBDTRNN_chains.size(); i++) { + if ( trigItem == m_trigBDTRNN_chains.at(i) ) { + if (!monRNN) monRNN = true; + if (!monBDT) monBDT = true; + break; + } + } + if ( (!monBDT) && (!monRNN) ) monBDT=true; // if the chain is not listed in BDTRNN, but it is also not in RNN, then it is BDT if(trigItem=="Dump"){ @@ -654,14 +689,26 @@ StatusCode HLTTauMonTool::fillHistogramsForItem(const std::string & trigItem){ for(; CI!=tauJetCont_end; ++CI){ if(!Selection(*CI)) continue; sc = fillEFTau(*CI, trigItem, "basicVars"); - sc = fillEFTau(*CI, trigItem, "1p_NonCorr"); - sc = fillEFTau(*CI, trigItem, "mp_NonCorr"); - sc = fillEFTau(*CI, trigItem, "1p_muCorr"); - sc = fillEFTau(*CI, trigItem, "mp_muCorr"); + if (monBDT) { + sc = fillEFTau(*CI, trigItem, "1p_NonCorr"); + sc = fillEFTau(*CI, trigItem, "mp_NonCorr"); + //sc = fillEFTau(*CI, trigItem, "1p_muCorr"); + //sc = fillEFTau(*CI, trigItem, "mp_muCorr"); + } if(!sc.isSuccess()){ ATH_MSG_WARNING("Failed to Fill BDT input histograms for fillEFTau(). Exiting!"); return sc;} + if(monRNN) { + sc = fillEFTau(*CI, trigItem, "RNN_inScalar_1P"); + sc = fillEFTau(*CI, trigItem, "RNN_inScalar_3P"); + sc = fillEFTau(*CI, trigItem, "RNN_inTrack"); + sc = fillEFTau(*CI, trigItem, "RNN_inCluster"); + sc = fillEFTau(*CI, trigItem, "RNN_out"); + if(!sc.isSuccess()){ ATH_MSG_WARNING("Failed to Fill RNN input and output histograms for fillEFTau(). Exiting!"); return sc;} + } sc = fillEFTauVsOffline(*CI, trigItem, "basicVars"); - sc = fillEFTauVsOffline(*CI, trigItem, "1p_NonCorr"); - sc = fillEFTauVsOffline(*CI, trigItem, "mp_NonCorr"); + if (monBDT) { + sc = fillEFTauVsOffline(*CI, trigItem, "1p_NonCorr"); + sc = fillEFTauVsOffline(*CI, trigItem, "mp_NonCorr"); + } if(!sc.isSuccess()){ ATH_MSG_WARNING("Failed to Fill histograms for fillEFTauVsOffline(). Exiting!"); return sc;} } @@ -859,15 +906,27 @@ StatusCode HLTTauMonTool::fillHistogramsForItem(const std::string & trigItem){ for(; tauItr != tauEnd; ++tauItr) { if(!Selection(*tauItr)) continue; if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "basicVars"); - if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "1p_NonCorr"); - if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "mp_NonCorr"); - if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "1p_muCorr"); - if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "mp_muCorr"); + if (monBDT) { + if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "1p_NonCorr"); + if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "mp_NonCorr"); + //if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "1p_muCorr"); + //if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "mp_muCorr"); + } if(!sc.isSuccess()){ ATH_MSG_WARNING("Failed to Fill BDT input histograms for fillEFTau(). Exiting!"); return sc;} + if(monRNN) { + if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "RNN_inScalar_1P"); + if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "RNN_inScalar_3P"); + if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "RNN_inTrack"); + if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "RNN_inCluster"); + if(*tauItr) sc = fillEFTau(*tauItr, trigItem, "RNN_out"); + if(!sc.isSuccess()){ ATH_MSG_WARNING("Failed to Fill RNN input and output histograms for fillEFTau(). Exiting!"); return sc;} + } if(m_truth) if(*tauItr) sc = fillEFTauVsTruth(*tauItr, trigItem); if(*tauItr) sc = fillEFTauVsOffline(*tauItr, trigItem, "basicVars"); - if(*tauItr) sc = fillEFTauVsOffline(*tauItr, trigItem, "1p_NonCorr"); - if(*tauItr) sc = fillEFTauVsOffline(*tauItr, trigItem, "mp_NonCorr"); + if (monBDT) { + if(*tauItr) sc = fillEFTauVsOffline(*tauItr, trigItem, "1p_NonCorr"); + if(*tauItr) sc = fillEFTauVsOffline(*tauItr, trigItem, "mp_NonCorr"); + } if(!sc.isSuccess()){ ATH_MSG_WARNING("Failed to Fill histograms for fillEFTauVsOffline(). Exiting!"); return sc;} } } @@ -1032,6 +1091,7 @@ StatusCode HLTTauMonTool::fillEFTau(const xAOD::TauJet *aEFTau, const std::strin float EMFrac = -1.0; // float PSSFraction = 0; float BDTJetScore = 0; + float BDTJetScoreSigTrans = 0; float innerTrkAvgDist = 0; float etOverPtLeadTrk = 0; float ipSigLeadTrk = 0; @@ -1044,7 +1104,7 @@ StatusCode HLTTauMonTool::fillEFTau(const xAOD::TauJet *aEFTau, const std::strin float dRmax = 0; float mEflowApprox = 0; float ptRatioEflowApprox = 0; - +/* float innerTrkAvgDistCorr = 0; float etOverPtLeadTrkCorr = 0; float ipSigLeadTrkCorr = 0; @@ -1057,6 +1117,7 @@ StatusCode HLTTauMonTool::fillEFTau(const xAOD::TauJet *aEFTau, const std::strin float dRmaxCorr = 0; float mEflowApproxCorr = 0; float ptRatioEflowApproxCorr = 0; +*/ float mu = 0; int EFnTrack(-1); @@ -1071,6 +1132,34 @@ StatusCode HLTTauMonTool::fillEFTau(const xAOD::TauJet *aEFTau, const std::strin //Pileup mu = m_mu_offline; + // special treatment for the track multiplicity plot depending on the "quality" of the tau charged tracks. + // if a charged track has been recovered via the "failTrackFilter" flag, + // then treat this tau as 0-track for the track multiplicity plot. + bool failsTrackFilter = aEFTau->nTracks(xAOD::TauJetParameters::failTrackFilter); + bool isMVAtrig_here (false); + for (unsigned int i=0; i<m_trigMVA_chains.size(); i++) { + if ( trigItem == m_trigMVA_chains.at(i) ) { + isMVAtrig_here = true; + break; + } + } + bool monRNN (false); + for (unsigned int i=0; i<m_trigRNN_chains.size(); i++) { + if ( trigItem == m_trigRNN_chains.at(i) ) { + monRNN = true; + break; + } + } + bool monBDT (false); + for (unsigned int i=0; i<m_trigBDTRNN_chains.size(); i++) { + if ( trigItem == m_trigBDTRNN_chains.at(i) ) { + if (!monRNN) monRNN = true; + if (!monBDT) monBDT = true; + break; + } + } + if ( (!monBDT) && (!monRNN) ) monBDT=true; // if the chain is not listed in BDTRNN, but it is also not in RNN, then it is BDT + if(BDTinput_type == "basicVars") { setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau"); @@ -1082,8 +1171,11 @@ StatusCode HLTTauMonTool::fillEFTau(const xAOD::TauJet *aEFTau, const std::strin hist("hEFNUM")->Fill(num_vxt); hist2("hEFNUMvsmu")->Fill(num_vxt,mu); hist("hEFPhi")->Fill(aEFTau->phi()); - hist("hEFnTrack")->Fill(EFnTrack); - + if ( isMVAtrig_here && failsTrackFilter && (trigItem != "tau25_idperf_tracktwoMVA") ) { + hist("hEFnTrack")->Fill(0); + } else { + hist("hEFnTrack")->Fill(EFnTrack); + } int EFWidenTrack(-1); #ifndef XAODTAU_VERSIONS_TAUJET_V3_H EFWidenTrack = aEFTau->nWideTracks(); @@ -1105,12 +1197,22 @@ StatusCode HLTTauMonTool::fillEFTau(const xAOD::TauJet *aEFTau, const std::strin //if(aEFTau->detail(xAOD::TauJetParameters::hadRadius, hadRadius)) hist("hEFHADRadius")->Fill(hadRadius); if(aEFTau->detail(xAOD::TauJetParameters::isolFrac, isoFrac)) hist("hEFIsoFrac")->Fill(isoFrac); //if(aEFTau->detail(xAOD::TauJetParameters::PSSFraction, PSSFraction)) hist("hEFPSSFraction")->Fill(PSSFraction); - BDTJetScore = aEFTau->discriminant(xAOD::TauJetParameters::TauID::BDTJetScore); - if( BDTJetScore ) - { - if(is1P) hist("hScore1p")->Fill(BDTJetScore); - if(isMP) hist("hScoremp")->Fill(BDTJetScore); + + if (monBDT) { + BDTJetScore = aEFTau->discriminant(xAOD::TauJetParameters::TauID::BDTJetScore); + if( BDTJetScore ) + { + if(is1P) hist("hScore1p")->Fill(BDTJetScore); + if(isMP) hist("hScoremp")->Fill(BDTJetScore); + } + BDTJetScoreSigTrans = aEFTau->discriminant(xAOD::TauJetParameters::TauID::BDTJetScoreSigTrans); + if( BDTJetScoreSigTrans ) + { + if(is1P) hist("hScoreSigTrans1p")->Fill(BDTJetScoreSigTrans); + if(isMP) hist("hScoreSigTransmp")->Fill(BDTJetScoreSigTrans); + } } + } else if(BDTinput_type == "1p_NonCorr") { @@ -1219,7 +1321,7 @@ StatusCode HLTTauMonTool::fillEFTau(const xAOD::TauJet *aEFTau, const std::strin } } } - else if(BDTinput_type == "1p_muCorr") +/* else if(BDTinput_type == "1p_muCorr") { setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/1p_Corrected"); if(is1P) @@ -1322,6 +1424,228 @@ StatusCode HLTTauMonTool::fillEFTau(const xAOD::TauJet *aEFTau, const std::strin if ((trigItem == "tau25_medium1_tracktwo") || (m_doEFTProfiles)) profile("hEFmEflowApproxMPCmu")->Fill(mu, mEflowApproxCorr); } } + }*/ + else if(BDTinput_type == "RNN_inScalar_1P") + { + // RNN Input Variables + // Scalars + setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/InputScalar1p"); + if(is1P) + { + float RNN_scalar_centFrac(-999.); + float RNN_scalar_etOverPtLeadTrk(-999.); + float RNN_scalar_dRmax(-999.); + float RNN_scalar_absipSigLeadTrk(-999.); + float RNN_scalar_SumPtTrkFrac(-999.); + float RNN_scalar_EMPOverTrkSysP(-999.); + float RNN_scalar_ptRatioEflowApprox(-999.); + float RNN_scalar_mEflowApprox(-999.); + double RNN_scalar_ptDetectorAxis(-999.); + + if (aEFTau->detail(xAOD::TauJetParameters::centFrac, RNN_scalar_centFrac)){ + RNN_scalar_centFrac = std::min(centFrac, 1.0f); + hist("hEFRNNInput_Scalar_centFrac_1P")->Fill(RNN_scalar_centFrac); + } + if (aEFTau->detail(xAOD::TauJetParameters::etOverPtLeadTrk, RNN_scalar_etOverPtLeadTrk)){ + RNN_scalar_etOverPtLeadTrk = TMath::Log10(std::max(etOverPtLeadTrk, 0.1f)); + hist("hEFRNNInput_Scalar_etOverPtLeadTrk_log_1P")->Fill(RNN_scalar_etOverPtLeadTrk); + } + if (aEFTau->detail(xAOD::TauJetParameters::dRmax, RNN_scalar_dRmax)){ + hist("hEFRNNInput_Scalar_dRmax_1P")->Fill(RNN_scalar_dRmax); + } + if (aEFTau->detail(xAOD::TauJetParameters::ipSigLeadTrk, RNN_scalar_absipSigLeadTrk)){ + RNN_scalar_absipSigLeadTrk = std::min(TMath::Abs(RNN_scalar_absipSigLeadTrk), 30.0f); + hist("hEFRNNInput_Scalar_absipSigLeadTrk_1P")->Fill(RNN_scalar_absipSigLeadTrk); + } + if (aEFTau->detail(xAOD::TauJetParameters::SumPtTrkFrac, RNN_scalar_SumPtTrkFrac)){ + hist("hEFRNNInput_Scalar_SumPtTrkFrac_1P")->Fill(RNN_scalar_SumPtTrkFrac); + } + if (aEFTau->detail(xAOD::TauJetParameters::EMPOverTrkSysP, RNN_scalar_EMPOverTrkSysP)){ + RNN_scalar_EMPOverTrkSysP = TMath::Log10(std::max(RNN_scalar_EMPOverTrkSysP, 1e-3f)); + hist("hEFRNNInput_Scalar_EMPOverTrkSysP_log_1P")->Fill(RNN_scalar_EMPOverTrkSysP); + } + if (aEFTau->detail(xAOD::TauJetParameters::ptRatioEflowApprox, RNN_scalar_ptRatioEflowApprox)){ + RNN_scalar_ptRatioEflowApprox = std::min(RNN_scalar_ptRatioEflowApprox, 4.0f); + hist("hEFRNNInput_Scalar_ptRatioEflowApprox_1P")->Fill(RNN_scalar_ptRatioEflowApprox); + } + if (aEFTau->detail(xAOD::TauJetParameters::mEflowApprox, RNN_scalar_mEflowApprox)){ + RNN_scalar_mEflowApprox = TMath::Log10(std::max(RNN_scalar_mEflowApprox, 140.0f)); + hist("hEFRNNInput_Scalar_mEflowApprox_log_1P")->Fill(RNN_scalar_mEflowApprox); + } + RNN_scalar_ptDetectorAxis = TMath::Log10(std::min(aEFTau->ptDetectorAxis() / 1000.0, 100.0)); + hist("hEFRNNInput_Scalar_ptDetectorAxis_log_1P")->Fill(RNN_scalar_ptDetectorAxis); + } + } + else if(BDTinput_type == "RNN_inScalar_3P") + { + setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/InputScalar3p"); + if(isMP) { + float RNN_scalar_centFrac(-999.); + float RNN_scalar_etOverPtLeadTrk(-999.); + float RNN_scalar_dRmax(-999.); + float RNN_scalar_trFlightPathSig(-999.); + float RNN_scalar_SumPtTrkFrac(-999.); + float RNN_scalar_EMPOverTrkSysP(-999.); + float RNN_scalar_ptRatioEflowApprox(-999.); + float RNN_scalar_mEflowApprox(-999.); + double RNN_scalar_ptDetectorAxis(-999.); + float RNN_scalar_massTrkSys(-999.); + + if (aEFTau->detail(xAOD::TauJetParameters::centFrac, RNN_scalar_centFrac)){ + RNN_scalar_centFrac = std::min(centFrac, 1.0f); + hist("hEFRNNInput_Scalar_centFrac_3P")->Fill(RNN_scalar_centFrac); + } + if (aEFTau->detail(xAOD::TauJetParameters::etOverPtLeadTrk, RNN_scalar_etOverPtLeadTrk)){ + RNN_scalar_etOverPtLeadTrk = TMath::Log10(std::max(etOverPtLeadTrk, 0.1f)); + hist("hEFRNNInput_Scalar_etOverPtLeadTrk_log_3P")->Fill(RNN_scalar_etOverPtLeadTrk); + } + if (aEFTau->detail(xAOD::TauJetParameters::dRmax, RNN_scalar_dRmax)){ + hist("hEFRNNInput_Scalar_dRmax_3P")->Fill(RNN_scalar_dRmax); + } + if (aEFTau->detail(xAOD::TauJetParameters::trFlightPathSig, RNN_scalar_trFlightPathSig)){ + RNN_scalar_trFlightPathSig = TMath::Log10(std::max(RNN_scalar_trFlightPathSig, 0.01f)); + hist("hEFRNNInput_Scalar_trFlightPathSig_log_3P")->Fill(RNN_scalar_trFlightPathSig); + } + if (aEFTau->detail(xAOD::TauJetParameters::SumPtTrkFrac, RNN_scalar_SumPtTrkFrac)){ + hist("hEFRNNInput_Scalar_SumPtTrkFrac_3P")->Fill(RNN_scalar_SumPtTrkFrac); + } + if (aEFTau->detail(xAOD::TauJetParameters::EMPOverTrkSysP, RNN_scalar_EMPOverTrkSysP)){ + RNN_scalar_EMPOverTrkSysP = TMath::Log10(std::max(RNN_scalar_EMPOverTrkSysP, 1e-3f)); + hist("hEFRNNInput_Scalar_EMPOverTrkSysP_log_3P")->Fill(RNN_scalar_EMPOverTrkSysP); + } + if (aEFTau->detail(xAOD::TauJetParameters::ptRatioEflowApprox, RNN_scalar_ptRatioEflowApprox)){ + RNN_scalar_ptRatioEflowApprox = std::min(RNN_scalar_ptRatioEflowApprox, 4.0f); + hist("hEFRNNInput_Scalar_ptRatioEflowApprox_3P")->Fill(RNN_scalar_ptRatioEflowApprox); + } + if (aEFTau->detail(xAOD::TauJetParameters::mEflowApprox, RNN_scalar_mEflowApprox)){ + RNN_scalar_mEflowApprox = TMath::Log10(std::max(RNN_scalar_mEflowApprox, 140.0f)); + hist("hEFRNNInput_Scalar_mEflowApprox_log_3P")->Fill(RNN_scalar_mEflowApprox); + } + RNN_scalar_ptDetectorAxis = TMath::Log10(std::min(aEFTau->ptDetectorAxis() / 1000.0, 100.0)); + hist("hEFRNNInput_Scalar_ptDetectorAxis_log_3P")->Fill(RNN_scalar_ptDetectorAxis); + if (aEFTau->detail(xAOD::TauJetParameters::massTrkSys, RNN_scalar_massTrkSys)){ + RNN_scalar_massTrkSys = TMath::Log10(std::max(RNN_scalar_massTrkSys, 140.0f)); + hist("hEFRNNInput_Scalar_massTrkSys_log_3P")->Fill(RNN_scalar_massTrkSys); + } + } + } + else if(BDTinput_type == "RNN_inTrack") + { + setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/InputTrack"); + // Tracks + float RNN_tracks_pt_log(-999.); + float RNN_tracks_pt_jetseed_log(-999.); + float RNN_tracks_dEta(-999.); + float RNN_tracks_dPhi(-999.); + float RNN_tracks_z0sinThetaTJVA_abs_log(-999.); + float RNN_tracks_d0_abs_log(-999.); + bool success_InPixHits(false); + uint8_t RNN_tracks_nInnermostPixelHits = 0; + bool success_PixHits(false); + uint8_t RNN_tracks_nPixelHits = 0; + bool success_SCTHits(false); + uint8_t RNN_tracks_nSCTHits = 0; + + if (is1P || isMP) { + for (int track = 0; track < EFnTrack; ++track){ + const xAOD::TrackParticle* trk = 0; + if ( (aEFTau->track(track) != NULL) ) { + trk = aEFTau->track(track)->track(); + if ( trk != NULL ) { + RNN_tracks_pt_log = TMath::Log10( trk->pt() ); + hist("hEFRNNInput_Track_pt_log")->Fill(RNN_tracks_pt_log); + RNN_tracks_pt_jetseed_log = TMath::Log10( aEFTau->ptJetSeed() ); + hist("hEFRNNInput_Track_pt_jetseed_log")->Fill(RNN_tracks_pt_jetseed_log); + RNN_tracks_dEta = trk->eta() - aEFTau->eta(); + hist("hEFRNNInput_Track_dEta")->Fill(RNN_tracks_dEta); + RNN_tracks_dPhi = trk->p4().DeltaPhi(aEFTau->p4()); + hist("hEFRNNInput_Track_dPhi")->Fill(RNN_tracks_dPhi); + RNN_tracks_z0sinThetaTJVA_abs_log = TMath::Log10(TMath::Abs( aEFTau->track(track)->z0sinThetaTJVA(*aEFTau) )); + hist("hEFRNNInput_Track_z0sinThetaTJVA_abs_log")->Fill(RNN_tracks_z0sinThetaTJVA_abs_log); + RNN_tracks_d0_abs_log = TMath::Log10( TMath::Abs(trk->d0()) + 1e-6); + hist("hEFRNNInput_Track_d0_abs_log")->Fill(RNN_tracks_d0_abs_log); + success_InPixHits = trk->summaryValue(RNN_tracks_nInnermostPixelHits, xAOD::numberOfInnermostPixelLayerHits); + if (success_InPixHits){ + hist("hEFRNNInput_Track_nInnermostPixelHits")->Fill(RNN_tracks_nInnermostPixelHits); + } + success_PixHits = trk->summaryValue(RNN_tracks_nPixelHits, xAOD::numberOfPixelHits); + if (success_PixHits){ + hist("hEFRNNInput_Track_nPixelHits")->Fill(RNN_tracks_nPixelHits); + } + success_SCTHits = trk->summaryValue(RNN_tracks_nSCTHits, xAOD::numberOfSCTHits); + if (success_SCTHits){ + hist("hEFRNNInput_Track_nSCTHits")->Fill(RNN_tracks_nSCTHits); + } + } else { + ATH_MSG_WARNING("->track() does not exists in: " << track); + }//end if trk exists + } else { + ATH_MSG_WARNING("->track(track) does not exists in: " << track); + } + } // end for-loop for tracks + } // end if(is1P||isMP) + } + else if(BDTinput_type == "RNN_inCluster") + { + // Cluster + setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/InputCluster"); + float RNN_clusters_et_log(-999.); + float RNN_clusters_pt_jetseed_log(-999.); + float RNN_clusters_dEta(-999.); + float RNN_clusters_dPhi(-999.); + double RNN_clusters_SECOND_R(-999.); + double RNN_clusters_SECOND_LAMBDA(-999.); + double RNN_clusters_CENTER_LAMBDA(-999.); + const xAOD::CaloClusterContainer *caloCont; + if ( m_storeGate->retrieve( caloCont, "HLT_xAOD__CaloClusterContainer_TrigCaloClusterMaker").isSuccess() ){//"TauPi0Clusters").isSuccess() ){ + ATH_MSG_INFO("caloCluster retrieved!"); + xAOD::CaloClusterContainer::const_iterator clusItr = caloCont->begin(); + xAOD::CaloClusterContainer::const_iterator clusItrE = caloCont->end(); + for (; clusItr != clusItrE; ++clusItr) { + RNN_clusters_et_log = TMath::Log10( (*clusItr)->et() ); + hist("hEFRNNInput_Cluster_et_log")->Fill(RNN_clusters_et_log); + RNN_clusters_pt_jetseed_log = TMath::Log10( aEFTau->ptJetSeed() ); + hist("hEFRNNInput_Cluster_pt_jetseed_log")->Fill(RNN_clusters_pt_jetseed_log); + RNN_clusters_dEta = ((*clusItr)->eta() - (aEFTau->eta())); + hist("hEFRNNInput_Cluster_dEta")->Fill(RNN_clusters_dEta); + RNN_clusters_dPhi = (*clusItr)->p4().DeltaPhi(aEFTau->p4());//deltaPhi((*clusItr)->phi(),(aEFTau->phi())); + hist("hEFRNNInput_Cluster_dPhi")->Fill(RNN_clusters_dPhi); + const auto success_SECOND_R = (*clusItr)->retrieveMoment(xAOD::CaloCluster::MomentType::SECOND_R, RNN_clusters_SECOND_R); + if ( (success_SECOND_R) ) { + RNN_clusters_SECOND_R =TMath::Log10(RNN_clusters_SECOND_R + 0.1); + hist("hEFRNNInput_Cluster_SECOND_R_log10")->Fill(RNN_clusters_SECOND_R); + } + const auto success_SECOND_LAMBDA = (*clusItr)->retrieveMoment(xAOD::CaloCluster::MomentType::SECOND_LAMBDA, RNN_clusters_SECOND_LAMBDA); + if ( (success_SECOND_LAMBDA) ) { + RNN_clusters_SECOND_LAMBDA =TMath::Log10(RNN_clusters_SECOND_LAMBDA + 0.1); + hist("hEFRNNInput_Cluster_SECOND_LAMBDA_log10")->Fill(RNN_clusters_SECOND_LAMBDA); + } + const auto success_CENTER_LAMBDA = (*clusItr)->retrieveMoment(xAOD::CaloCluster::MomentType::CENTER_LAMBDA, RNN_clusters_CENTER_LAMBDA); + if ( (success_CENTER_LAMBDA) ) { + RNN_clusters_CENTER_LAMBDA =TMath::Log10(RNN_clusters_CENTER_LAMBDA + 1e-6); + hist("hEFRNNInput_Cluster_CENTER_LAMBDA_log10")->Fill(RNN_clusters_CENTER_LAMBDA); + } + } + } + } + else if(BDTinput_type == "RNN_out") + { + // RNN Output Variables + setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/Output"); + float RNNJetScore(-999.); + float RNNJetScoreSigTrans(-999.); + if(aEFTau->hasDiscriminant(xAOD::TauJetParameters::RNNJetScore)) { + RNNJetScore = aEFTau->discriminant(xAOD::TauJetParameters::RNNJetScore); + } else { + ATH_MSG_WARNING(" RNNJetScore not available."); + } + if(aEFTau->hasDiscriminant(xAOD::TauJetParameters::RNNJetScoreSigTrans)) { + RNNJetScoreSigTrans = aEFTau->discriminant(xAOD::TauJetParameters::RNNJetScoreSigTrans); + } else { + ATH_MSG_WARNING(" RNNJetScoreSigTrans not available."); + } + hist("hEFRNNJetScore")->Fill(RNNJetScore); + hist("hEFRNNJetScoreSigTrans")->Fill(RNNJetScoreSigTrans); } else { diff --git a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.h b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.h index 2547e58d00e129399746508c32311588a4a0ebc3..03baa838cab4211a9157fadb354b06a6404dfdf9 100755 --- a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.h +++ b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool.h @@ -108,6 +108,7 @@ class HLTTauMonTool : public IHLTMonTool { StatusCode trackCurves(const std::string & trigItem); StatusCode efficiencyRatioPlots (const std::string & trigItem); StatusCode L1TopoLeptons(const std::string & trigItem, const std::string & typeOfChain); + StatusCode FailTrackFilterMonitor(const std::string & trigItem); //Methods for HLT and L1 Matching bool HLTTauMatching(const std::string & trigItem, const TLorentzVector & TLV, float DR); @@ -163,6 +164,8 @@ class HLTTauMonTool : public IHLTMonTool { bool m_doTopoValidation; bool m_doL1JetPlots; bool m_doEFTProfiles; + bool m_doFailTrackFilterBitMonitoring; + bool m_doRNNInOutMonitoring; bool m_domuCut40; bool m_doEfficiencyRatioPlots; bool m_doL1TopoLeptonsMonitoringWarnings; @@ -210,7 +213,11 @@ class HLTTauMonTool : public IHLTMonTool { std::vector<std::string> m_LST_HLTsel0Prong_FTKNoPrec_chains; std::vector<std::string> m_LST_HLTsel_tracktwo_chains; std::vector<std::string> m_Ratio; + std::vector<std::string> m_trigMVA_chains; + std::vector<std::string> m_trigRNN_chains; + std::vector<std::string> m_trigBDTRNN_chains; std::string m_lowest_singletau; + std::string m_lowest_singletauMVA; //std::string m_lowest_ditau; //std::string m_lowest_etau; //std::string m_lowest_mutau; diff --git a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_FailTrackFilterMonitor.cxx b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_FailTrackFilterMonitor.cxx new file mode 100644 index 0000000000000000000000000000000000000000..eb80006c2b28d389cb24902e7950ed4531b5c431 --- /dev/null +++ b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_FailTrackFilterMonitor.cxx @@ -0,0 +1,38 @@ +// @file HLTTauMonTool_FailTrackFilterMonitor.cxx +// created by Eleni-Myrto Asimakopoulou <eleni.myrto.asimakopoulou@cern.ch> +#include "TProfile.h" +#include "HLTTauMonTool.h" +#include "AthenaKernel/Units.h" +#include "xAODEventInfo/EventInfo.h" + +using namespace std; +using Athena::Units::GeV; +StatusCode HLTTauMonTool::FailTrackFilterMonitor(const std::string & trigItem){ + + ATH_MSG_DEBUG ("HLTTauMonTool::FailTrackFilterMonitor"); + + const xAOD::EventInfo* evtInfo = 0; + ATH_CHECK ( evtStore()->retrieve(evtInfo) ); + + std::string chain = "HLT_"+trigItem; + + setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/FailTrackFilterMonitor"); + if(getTDT()->isPassed(chain)) + { + for(unsigned int t=0;t<m_taus.size();t++){ + // check if this tau has the "failTrackFilter" flag set to true, + // ie, none of its core tracks passed the nominal BDT cut, but one core track passed a looser BDT cut + // --> the tau track is promoted to classifiedCharged + bool failsTrackFilter = m_taus.at(t)->nTracks(xAOD::TauJetParameters::failTrackFilter); + + //if (!failsTrackFilter) continue; // we are only interested to monitor here the cases where that is TRUE. + if (failsTrackFilter) { // we are only interested to monitor here the cases where that is TRUE. + // fill a histogram with the pT of that tau. + hist("hFailTrackFilterPt")->Fill(m_taus.at(t)->pt()/GeV); + } + + } + } // end of: "if(getTDT()->isPassed(chain))" + + return StatusCode::SUCCESS; +} // end of "HLTTauMonTool::FailTrackFilterMonitor" diff --git a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_bookHistograms.cxx b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_bookHistograms.cxx index 2e425d3e804df49d10e69380335c871dfe8be90b..cbb290d17430ebbb8f451701721157e786255d53 100644 --- a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_bookHistograms.cxx +++ b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_bookHistograms.cxx @@ -9,7 +9,25 @@ using namespace std; /////////////////////////////////////////////////////////////////// void HLTTauMonTool::bookHistogramsForItem(const std::string & trigItem){ - + + bool monRNN (false); + for (unsigned int j=0; j<m_trigRNN_chains.size(); j++) { + if ( trigItem == m_trigRNN_chains.at(j) ) { + monRNN = true; + break; + } + } + bool monBDT (false); + for (unsigned int j=0; j<m_trigBDTRNN_chains.size(); j++) { + if ( trigItem == m_trigBDTRNN_chains.at(j) ) { + if (!monRNN) monRNN = true; + if (!monBDT) monBDT = true; + break; + } + } + if ( (!monBDT) && (!monRNN) ) monBDT=true; // if the chain is not listed in BDTRNN, but it is also not in RNN, then it is BDT + + const int nbin_pt = 13; double bins_pt[nbin_pt] = {20.,25.,30.,35.,40.,45.,50.,55.,60.,70.,100.,150.,200.}; @@ -20,9 +38,11 @@ void HLTTauMonTool::bookHistogramsForItem(const std::string & trigItem){ double bins_eta[nbin_eta] = {-2.47,-1.52,-1.37,-0.69,0.,0.69,1.37,1.52,2.47}; const int nbin_nvtx = 6; double bins_nvtx[nbin_nvtx] = {0.,5.,10.,15.,20.,25.}; - const int nbin_mu = 34; - float bins_mu[nbin_mu] = {0.,2.,4.,6.,8.,10.,12.,14.,16.,18.,20.,22.,24.,26.,28.,30.,32.,34.,36.,38.,40., 42., 44., 44., 46., 48., 50., 52., 54., 56., 58., 60., 62., 72}; - + //const int nbin_mu = 34; + //float bins_mu[nbin_mu] = {0.,2.,4.,6.,8.,10.,12.,14.,16.,18.,20.,22.,24.,26.,28.,30.,32.,34.,36.,38.,40., 42., 44., 44., 46., 48., 50., 52., 54., 56., 58., 60., 62., 72}; + const int nbin_mu = 51; + float bins_mu[nbin_mu] = {0.,2.,4.,6.,8.,10.,12.,14.,16.,18.,20.,22.,24.,26.,28.,30.,32.,34.,36.,38.,40.,42.,44.,\ + 46.,48.,50.,52.,54.,56.,58.,60.,62.,64.,66.,68.,70.,72.,74.,76.,78., 80.,82.,84.,86.,88.,90.,92.,94.,96.,98.,100.}; // const int nbin_met = 14; // double bins_met[nbin_met] = {0.,5.,10.,20.,25.,30.,35.,40.,45.,50.,60.,70.,100.,150.}; @@ -89,8 +109,8 @@ void HLTTauMonTool::bookHistogramsForItem(const std::string & trigItem){ //Basic kinematic variables addHistogram(new TH1F("hEFEt","EF Et;E_{T}[GeV];Nevents",50,0.0,100.0)); addHistogram(new TH1F("hEFEta","EF TrigCaloCluster Eta; #eta ; Nevents",26,-2.6,2.6)); - addHistogram(new TH1F("hEFNUM","Online mu; Online #mu ; Nevents",50,0,50)); - addHistogram(new TH2F("hEFNUMvsmu","Online vs offline mu; Online #mu ; Offline #mu", 70,0,70,70,0,70)); + addHistogram(new TH1F("hEFNUM","Online mu; Online #mu ; Nevents",100,0,100)); + addHistogram(new TH2F("hEFNUMvsmu","Online vs offline mu; Online #mu ; Offline #mu", 100,0,100,100,0,100)); addHistogram(new TH1F("hEFPhi","EF TrigCaloCluster Phi; #phi ; Nevents",16,-3.2,3.2)); addHistogram(new TH1F("hEFnTrack","EF number of tracks;number of tracks;Nevents",10,0,10)); addHistogram(new TH2F("hEFEtaVsPhi","EF TrigCaloCluster Eta vs Phi; #eta ; #phi ; Nevents",26,-2.6,2.6,16,-3.2,3.2)); @@ -104,103 +124,173 @@ void HLTTauMonTool::bookHistogramsForItem(const std::string & trigItem){ addHistogram(new TH1F("hEFIsoFrac", "Iso Fraction at EF; isoFrac at EF; Candidates",50,-0.1,1.1)); //addHistogram(new TH1F("hEFPSSFraction", "PSS Fraction at EF; PSS at EF; Candidates",50,-0.05,1.1)); addHistogram(new TH1F("hEFEMFraction", "Em Fraction at EF; EM Fraction at EF; Candidates",50,-0.05,1.1)); - addHistogram(new TH1F("hScore1p", "1p BDT Score; HLT BDT Score; Candidates",50,0.,1.)); - addHistogram(new TH1F("hScoremp", "mp BDT Score; HLT BDT Score; Candidates",50,0.,1.)); - //BDT inputs for 1-prong Non-Corrected - addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/1p_nonCorrected",run)); - setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/1p_nonCorrected"); - addHistogram(new TH1F("hEFinnerTrkAvgDist1PNCorr", "Inner Track Average Distance at EF 1-prong non-corrected; innertrkAvgDist at EF; Candidates",50,-0.05,0.5)); - addHistogram(new TH1F("hEFetOverPtLeadTrk1PNCorr", "Et over Lead Track Pt at EF 1-prong non-corrected; etOverPtLeadTrk at EF; Candidates",51,-0.1,25.0)); - addHistogram(new TH1F("hEFipSigLeadTrk1PNCorr", "IpSigLeadTrk at EF 1-prong non-corrected; ipSigLeadTrk at EF; Candidates",50,-20.0,20.0)); - addHistogram(new TH1F("hEFSumPtTrkFrac1PNCorr", "SumPtTrkFrac at EF 1-prong non-corrected; SumPtTrkFrac at EF; Candidates",50,-0.5,1.1)); - addHistogram(new TH1F("hEFChPiEMEOverCaloEME1PNCorr", "ChPiEMEOverCaloEME at EF 1-prong non-corrected; ChPiEMEOverCaloEME at EF; Candidates",51,-20.0,20.0)); - addHistogram(new TH1F("hEFEMPOverTrkSysP1PNCorr", "EMPOverTrkSysP at EF 1-prong non-corrected; EMPOverTrkSysP at EF; Candidates", 41,0.0,40.0)); - addHistogram(new TH1F("hEFcentFrac1PNCorr", "Centrality Fraction at EF 1-prong non-corrected; centFrac at EF; Candidates",50,-0.05,1.2)); - addHistogram(new TH1F("hEFptRatioEflowApprox1PNCorr", "ptRatioEflowApprox at EF 1-prong non-corrected; ptRatioEflowApprox at EF; Candidates",50,0.0,2.0)); - if ((trigItem == "tau25_medium1_tracktwo") || (m_doEFTProfiles)) // keep the EF TProfiles of lowest single tau or if flag is turned on for the rest of the chains - { - addProfile(new TProfile("hEFinnerTrkAvgDist1PNCmu", "InnerTrkAvgDist at EF vs mu 1-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFetOverPtLeadTrk1PNCmu", "EtOverPtLeadTrk at EF vs mu 1-prong non-corrected;Average interactions per bunch crossing ;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFipSigLeadTrk1PNCmu", "IpSigLeadTrk at EF vs mu 1-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFSumPtTrkFrac1PNCmu", "SumPtTrkFrac at EF vs mu 1-prong non-corrected;Average interactions per bunch crossing ;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFChPiEMEOverCaloEME1PNCmu", "ChPiEMEOverCaloEME at EF vs mu 1p non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFEMPOverTrkSysP1PNCmu", "EMPOverTrkSysP at EF vs mu 1-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFcentFrac1PNCmu", "Centrality Fraction at EF vs mu 1-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFptRatioEflowApprox1PNCmu", "ptRatioEflowApprox at EF vs mu 1p non-corrected;Average interactions per bunch crossing ;",nbin_mu-1,bins_mu)); - } - //BDT inputs for 3-prong Non-Corrected - addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/mp_nonCorrected",run)); - setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/mp_nonCorrected"); - addHistogram(new TH1F("hEFinnerTrkAvgDistMPNCorr", "Inner Track Average Distance at EF m-prong non-corrected; innertrkAvgDist at EF; Candidates",50,-0.05,0.5)); - addHistogram(new TH1F("hEFetOverPtLeadTrkMPNCorr", "Et over Lead Track Pt at EF m-prong non-corrected; etOverPtLeadTrk at EF; Candidates",51,-0.1,25.0)); - addHistogram(new TH1F("hEFChPiEMEOverCaloEMEMPNCorr", "ChPiEMEOverCaloEME at EF m-prong non-corrected; ChPiEMEOverCaloEME at EF; Candidates",51,-20.0,20.0)); - addHistogram(new TH1F("hEFEMPOverTrkSysPMPNCorr", "EMPOverTrkSysP at EF m-prong non-corrected; EMPOverTrkSysP at EF; Candidates", 41,0.0,40.0)); - addHistogram(new TH1F("hEFcentFracMPNCorr", "Centrality Fraction at EF m-prong non-corrected; centFrac at EF; Candidates",50,-0.05,1.2)); - addHistogram(new TH1F("hEFptRatioEflowApproxMPNCorr", "ptRatioEflowApprox at EF m-prong non-corrected; ptRatioEflowApprox at EF; Candidates",50,0.0,2.0)); - addHistogram(new TH1F("hEFdRmaxMPNCorr", "Max dR of associated tracks at EF m-prong non-corrected; dRmax at EF; Candidates",50,-0.1,0.3)); - addHistogram(new TH1F("hEFtrFlightPathSigMPNCorr", "TrFlightPathSig at EF m-prong non-corrected; trFlightPathSig at EF; Candidates",50,-20.0,20.0)); - addHistogram(new TH1F("hEFmassTrkSysMPNCorr", "MassTrkSys at EF m-prong non-corrected; MassTrkSys at EF [GeV]; Candidates",50,-0.1,15.0)); - addHistogram(new TH1F("hEFmEflowApproxMPNCorr", "mEflowApprox at EF m-prong non-corrected; mEflowApprox at EF ; Candidates",61,-0.2,60.2)); - if ((trigItem == "tau25_medium1_tracktwo") || (m_doEFTProfiles)) // keep the EF TProfiles of lowest single tau or if flag is turned on for the rest of the chains - { - addProfile(new TProfile("hEFinnerTrkAvgDistMPNCmu", "InnerTrkAvgDist at EF vs mu m-prong non-corrected; Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFetOverPtLeadTrkMPNCmu", "EtOverPtLeadTrk at EF vs mu m-prong non-corrected; Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFChPiEMEOverCaloEMEMPNCmu", "ChPiEMEOverCaloEME at EF vs mu mp non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFEMPOverTrkSysPMPNCmu", "EMPOverTrkSysP at EF vs mu m-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFcentFracMPNCmu", "Centrality Fraction at EF vs mu m-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFptRatioEflowApproxMPNCmu", "ptRatioEflowApprox at EF vs mu mp non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFdRmaxMPNCmu", "Max dR of associated tracks at EF vs mu m-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFtrFlightPathSigMPNCmu", "TrFlightPathSig at EF vs mu m-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFmassTrkSysMPNCmu", "MassTrkSys at EF vs mu m-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFmEflowApproxMPNCmu", "mEflowApprox at EF vs mu m-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - } - //BDT inputs for 1-prong mu-Corrected - addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/1p_Corrected",run)); - setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/1p_Corrected"); - addHistogram(new TH1F("hEFinnerTrkAvgDist1PCorr", "Inner Track Average Distance at EF 1-prong mu-corrected; innertrkAvgDist at EF; Candidates",50,-0.05,0.5)); - addHistogram(new TH1F("hEFetOverPtLeadTrk1PCorr", "Et over Lead Track Pt at EF 1-prong mu-corrected; etOverPtLeadTrk at EF; Candidates",51,-0.1,25.0)); - addHistogram(new TH1F("hEFipSigLeadTrk1PCorr", "IpSigLeadTrk at EF 1-prong mu-corrected; IpSigLeadTrk at EF; Candidates",50,-20.0,20.0)); - addHistogram(new TH1F("hEFSumPtTrkFrac1PCorr", "SumPtTrkFrac at EF 1-prong mu-corrected; SumPtTrkFrac at EF; Candidates",50,-0.5,1.1)); - addHistogram(new TH1F("hEFChPiEMEOverCaloEME1PCorr", "ChPiEMEOverCaloEME at EF 1-prong mu-corrected; ChPiEMEOverCaloEME at EF; Candidates", 51,-20.0,20.0)); - addHistogram(new TH1F("hEFEMPOverTrkSysP1PCorr", "EMPOverTrkSysP at EF 1-prong mu-corrected; EMPOverTrkSysP at EF; Candidates", 41,0.0,40.0)); - addHistogram(new TH1F("hEFcentFrac1PCorr", "Centrality Fraction at EF 1-prong mu-corrected; centFrac at EF; Candidates",50,-0.05,1.2)); - addHistogram(new TH1F("hEFptRatioEflowApprox1PCorr", "ptRatioEflowApprox at EF 1-prong mu-corrected; ptRatioEflowApprox at EF; Candidates",50,0.0,2.0)); - if ((trigItem == "tau25_medium1_tracktwo") || (m_doEFTProfiles)) // keep the EF TProfiles of lowest single tau or if flag is turned on for the rest of the chains - { - addProfile(new TProfile("hEFinnerTrkAvgDist1PCmu", "InnerTrkAvgDist at EF vs mu 1-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFetOverPtLeadTrk1PCmu", "EtOverPtLeadTrk at EF vs mu 1-prong mu-corrected;Average interactions per bunch crossing ;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFipSigLeadTrk1PCmu", "IpSigLeadTrk at EF vs mu 1-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFSumPtTrkFrac1PCmu", "SumPtTrkFrac at EF vs mu 1-prong mu-corrected;Average interactions per bunch crossing ;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFChPiEMEOverCaloEME1PCmu", "ChPiEMEOverCaloEME at EF vs mu 1p mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFEMPOverTrkSysP1PCmu", "EMPOverTrkSysP at EF vs mu 1-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFcentFrac1PCmu", "Centrality Fraction at EF vs mu 1-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFptRatioEflowApprox1PCmu", "ptRatioEflowApprox at EF vs mu 1p mu-corrected;Average interactions per bunch crossing ;",nbin_mu-1,bins_mu)); - } - //BDT inputs for 3-prong mu-Corrected - addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/mp_Corrected",run)); - setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/mp_Corrected"); - addHistogram(new TH1F("hEFinnerTrkAvgDistMPCorr", "Inner Track Average Distance at EF m-prong mu-corrected; innertrkAvgDist at EF; Candidates",50,-0.05,0.5)); - addHistogram(new TH1F("hEFetOverPtLeadTrkMPCorr", "Et over Lead Track Pt at EF m-prong mu-corrected; etOverPtLeadTrk at EF; Candidates",51,-0.1,25.0)); - addHistogram(new TH1F("hEFChPiEMEOverCaloEMEMPCorr", "ChPiEMEOverCaloEME at EF m-prong mu-corrected; ChPiEMEOverCaloEME at EF; Candidates", 51,-20.0,20.0)); - addHistogram(new TH1F("hEFEMPOverTrkSysPMPCorr", "EMPOverTrkSysP at EF m-prong mu-corrected; EMPOverTrkSysP at EF; Candidates", 41,0.0,40.0)); - addHistogram(new TH1F("hEFcentFracMPCorr", "Centrality Fraction at EF m-prong mu-corrected; centFrac at EF; Candidates",50,-0.05,1.2)); - addHistogram(new TH1F("hEFptRatioEflowApproxMPCorr", "ptRatioEflowApprox at EF m-prong mu-corrected; ptRatioEflowApprox at EF; Candidates",50,0.0,2.0)); - addHistogram(new TH1F("hEFdRmaxMPCorr", "Max dR of associated tracks at EF m-prong mu-corrected; dRmax at EF; Candidates",50,-0.1,0.3)); - addHistogram(new TH1F("hEFtrFlightPathSigMPCorr", "TrFlightPathSig at EF m-prong mu-corrected; trFlightPathSig at EF; Candidates",50,-20.0,20.0)); - addHistogram(new TH1F("hEFmassTrkSysMPCorr", "MassTrkSys at EF m-prong mu-corrected; massTrkSys at EF [GeV]; Candidates",50,-0.1,15.0)); - addHistogram(new TH1F("hEFmEflowApproxMPCorr", "mEflowApprox at EF m-prong mu-corrected; mEflowApprox at EF ; Candidates",61,-0.2,60.2)); - if ((trigItem == "tau25_medium1_tracktwo") || (m_doEFTProfiles)) // keep the EF TProfiles of lowest single tau or if flag is turned on for the rest of the chains + if (monBDT) { + addHistogram(new TH1F("hScore1p", "1p BDT Score; HLT BDT Score; Candidates",50,0.,1.)); + addHistogram(new TH1F("hScoremp", "mp BDT Score; HLT BDT Score; Candidates",50,0.,1.)); + addHistogram(new TH1F("hScoreSigTrans1p", "1p BDT Score (signal transformed/flattened); HLT BDT Score; Candidates",50,0.,1.)); + addHistogram(new TH1F("hScoreSigTransmp", "mp BDT Score (signal transformed/flattened); HLT BDT Score; Candidates",50,0.,1.)); + //BDT inputs for 1-prong Non-Corrected + addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/1p_nonCorrected",run)); + setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/1p_nonCorrected"); + addHistogram(new TH1F("hEFinnerTrkAvgDist1PNCorr", "Inner Track Average Distance at EF 1-prong non-corrected; innertrkAvgDist at EF; Candidates",50,-0.05,0.5)); + addHistogram(new TH1F("hEFetOverPtLeadTrk1PNCorr", "Et over Lead Track Pt at EF 1-prong non-corrected; etOverPtLeadTrk at EF; Candidates",51,-0.1,25.0)); + addHistogram(new TH1F("hEFipSigLeadTrk1PNCorr", "IpSigLeadTrk at EF 1-prong non-corrected; ipSigLeadTrk at EF; Candidates",50,-20.0,20.0)); + addHistogram(new TH1F("hEFSumPtTrkFrac1PNCorr", "SumPtTrkFrac at EF 1-prong non-corrected; SumPtTrkFrac at EF; Candidates",50,-0.5,1.1)); + addHistogram(new TH1F("hEFChPiEMEOverCaloEME1PNCorr", "ChPiEMEOverCaloEME at EF 1-prong non-corrected; ChPiEMEOverCaloEME at EF; Candidates",51,-20.0,20.0)); + addHistogram(new TH1F("hEFEMPOverTrkSysP1PNCorr", "EMPOverTrkSysP at EF 1-prong non-corrected; EMPOverTrkSysP at EF; Candidates", 41,0.0,40.0)); + addHistogram(new TH1F("hEFcentFrac1PNCorr", "Centrality Fraction at EF 1-prong non-corrected; centFrac at EF; Candidates",50,-0.05,1.2)); + addHistogram(new TH1F("hEFptRatioEflowApprox1PNCorr", "ptRatioEflowApprox at EF 1-prong non-corrected; ptRatioEflowApprox at EF; Candidates",50,0.0,2.0)); + if ((trigItem == "tau25_medium1_tracktwo") || (m_doEFTProfiles)) // keep the EF TProfiles of lowest single tau or if flag is turned on for the rest of the chains + { + addProfile(new TProfile("hEFinnerTrkAvgDist1PNCmu", "InnerTrkAvgDist at EF vs mu 1-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFetOverPtLeadTrk1PNCmu", "EtOverPtLeadTrk at EF vs mu 1-prong non-corrected;Average interactions per bunch crossing ;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFipSigLeadTrk1PNCmu", "IpSigLeadTrk at EF vs mu 1-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFSumPtTrkFrac1PNCmu", "SumPtTrkFrac at EF vs mu 1-prong non-corrected;Average interactions per bunch crossing ;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFChPiEMEOverCaloEME1PNCmu", "ChPiEMEOverCaloEME at EF vs mu 1p non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFEMPOverTrkSysP1PNCmu", "EMPOverTrkSysP at EF vs mu 1-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFcentFrac1PNCmu", "Centrality Fraction at EF vs mu 1-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFptRatioEflowApprox1PNCmu", "ptRatioEflowApprox at EF vs mu 1p non-corrected;Average interactions per bunch crossing ;",nbin_mu-1,bins_mu)); + } + //BDT inputs for 3-prong Non-Corrected + addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/mp_nonCorrected",run)); + setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/mp_nonCorrected"); + addHistogram(new TH1F("hEFinnerTrkAvgDistMPNCorr", "Inner Track Average Distance at EF m-prong non-corrected; innertrkAvgDist at EF; Candidates",50,-0.05,0.5)); + addHistogram(new TH1F("hEFetOverPtLeadTrkMPNCorr", "Et over Lead Track Pt at EF m-prong non-corrected; etOverPtLeadTrk at EF; Candidates",51,-0.1,25.0)); + addHistogram(new TH1F("hEFChPiEMEOverCaloEMEMPNCorr", "ChPiEMEOverCaloEME at EF m-prong non-corrected; ChPiEMEOverCaloEME at EF; Candidates",51,-20.0,20.0)); + addHistogram(new TH1F("hEFEMPOverTrkSysPMPNCorr", "EMPOverTrkSysP at EF m-prong non-corrected; EMPOverTrkSysP at EF; Candidates", 41,0.0,40.0)); + addHistogram(new TH1F("hEFcentFracMPNCorr", "Centrality Fraction at EF m-prong non-corrected; centFrac at EF; Candidates",50,-0.05,1.2)); + addHistogram(new TH1F("hEFptRatioEflowApproxMPNCorr", "ptRatioEflowApprox at EF m-prong non-corrected; ptRatioEflowApprox at EF; Candidates",50,0.0,2.0)); + addHistogram(new TH1F("hEFdRmaxMPNCorr", "Max dR of associated tracks at EF m-prong non-corrected; dRmax at EF; Candidates",50,-0.1,0.3)); + addHistogram(new TH1F("hEFtrFlightPathSigMPNCorr", "TrFlightPathSig at EF m-prong non-corrected; trFlightPathSig at EF; Candidates",50,-20.0,20.0)); + addHistogram(new TH1F("hEFmassTrkSysMPNCorr", "MassTrkSys at EF m-prong non-corrected; MassTrkSys at EF [GeV]; Candidates",50,-0.1,15.0)); + addHistogram(new TH1F("hEFmEflowApproxMPNCorr", "mEflowApprox at EF m-prong non-corrected; mEflowApprox at EF ; Candidates",61,-0.2,60.2)); + if ((trigItem == "tau25_medium1_tracktwo") || (m_doEFTProfiles)) // keep the EF TProfiles of lowest single tau or if flag is turned on for the rest of the chains + { + addProfile(new TProfile("hEFinnerTrkAvgDistMPNCmu", "InnerTrkAvgDist at EF vs mu m-prong non-corrected; Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFetOverPtLeadTrkMPNCmu", "EtOverPtLeadTrk at EF vs mu m-prong non-corrected; Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFChPiEMEOverCaloEMEMPNCmu", "ChPiEMEOverCaloEME at EF vs mu mp non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFEMPOverTrkSysPMPNCmu", "EMPOverTrkSysP at EF vs mu m-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFcentFracMPNCmu", "Centrality Fraction at EF vs mu m-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFptRatioEflowApproxMPNCmu", "ptRatioEflowApprox at EF vs mu mp non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFdRmaxMPNCmu", "Max dR of associated tracks at EF vs mu m-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFtrFlightPathSigMPNCmu", "TrFlightPathSig at EF vs mu m-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFmassTrkSysMPNCmu", "MassTrkSys at EF vs mu m-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFmEflowApproxMPNCmu", "mEflowApprox at EF vs mu m-prong non-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + } + /* // These were condsidered not needed for the time being + //BDT inputs for 1-prong mu-Corrected + addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/1p_Corrected",run)); + setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/1p_Corrected"); + addHistogram(new TH1F("hEFinnerTrkAvgDist1PCorr", "Inner Track Average Distance at EF 1-prong mu-corrected; innertrkAvgDist at EF; Candidates",50,-0.05,0.5)); + addHistogram(new TH1F("hEFetOverPtLeadTrk1PCorr", "Et over Lead Track Pt at EF 1-prong mu-corrected; etOverPtLeadTrk at EF; Candidates",51,-0.1,25.0)); + addHistogram(new TH1F("hEFipSigLeadTrk1PCorr", "IpSigLeadTrk at EF 1-prong mu-corrected; IpSigLeadTrk at EF; Candidates",50,-20.0,20.0)); + addHistogram(new TH1F("hEFSumPtTrkFrac1PCorr", "SumPtTrkFrac at EF 1-prong mu-corrected; SumPtTrkFrac at EF; Candidates",50,-0.5,1.1)); + addHistogram(new TH1F("hEFChPiEMEOverCaloEME1PCorr", "ChPiEMEOverCaloEME at EF 1-prong mu-corrected; ChPiEMEOverCaloEME at EF; Candidates", 51,-20.0,20.0)); + addHistogram(new TH1F("hEFEMPOverTrkSysP1PCorr", "EMPOverTrkSysP at EF 1-prong mu-corrected; EMPOverTrkSysP at EF; Candidates", 41,0.0,40.0)); + addHistogram(new TH1F("hEFcentFrac1PCorr", "Centrality Fraction at EF 1-prong mu-corrected; centFrac at EF; Candidates",50,-0.05,1.2)); + addHistogram(new TH1F("hEFptRatioEflowApprox1PCorr", "ptRatioEflowApprox at EF 1-prong mu-corrected; ptRatioEflowApprox at EF; Candidates",50,0.0,2.0)); + if ((trigItem == "tau25_medium1_tracktwo") || (m_doEFTProfiles)) // keep the EF TProfiles of lowest single tau or if flag is turned on for the rest of the chains + { + addProfile(new TProfile("hEFinnerTrkAvgDist1PCmu", "InnerTrkAvgDist at EF vs mu 1-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFetOverPtLeadTrk1PCmu", "EtOverPtLeadTrk at EF vs mu 1-prong mu-corrected;Average interactions per bunch crossing ;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFipSigLeadTrk1PCmu", "IpSigLeadTrk at EF vs mu 1-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFSumPtTrkFrac1PCmu", "SumPtTrkFrac at EF vs mu 1-prong mu-corrected;Average interactions per bunch crossing ;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFChPiEMEOverCaloEME1PCmu", "ChPiEMEOverCaloEME at EF vs mu 1p mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFEMPOverTrkSysP1PCmu", "EMPOverTrkSysP at EF vs mu 1-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFcentFrac1PCmu", "Centrality Fraction at EF vs mu 1-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFptRatioEflowApprox1PCmu", "ptRatioEflowApprox at EF vs mu 1p mu-corrected;Average interactions per bunch crossing ;",nbin_mu-1,bins_mu)); + } + //BDT inputs for 3-prong mu-Corrected + addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/mp_Corrected",run)); + setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/BDT/mp_Corrected"); + addHistogram(new TH1F("hEFinnerTrkAvgDistMPCorr", "Inner Track Average Distance at EF m-prong mu-corrected; innertrkAvgDist at EF; Candidates",50,-0.05,0.5)); + addHistogram(new TH1F("hEFetOverPtLeadTrkMPCorr", "Et over Lead Track Pt at EF m-prong mu-corrected; etOverPtLeadTrk at EF; Candidates",51,-0.1,25.0)); + addHistogram(new TH1F("hEFChPiEMEOverCaloEMEMPCorr", "ChPiEMEOverCaloEME at EF m-prong mu-corrected; ChPiEMEOverCaloEME at EF; Candidates", 51,-20.0,20.0)); + addHistogram(new TH1F("hEFEMPOverTrkSysPMPCorr", "EMPOverTrkSysP at EF m-prong mu-corrected; EMPOverTrkSysP at EF; Candidates", 41,0.0,40.0)); + addHistogram(new TH1F("hEFcentFracMPCorr", "Centrality Fraction at EF m-prong mu-corrected; centFrac at EF; Candidates",50,-0.05,1.2)); + addHistogram(new TH1F("hEFptRatioEflowApproxMPCorr", "ptRatioEflowApprox at EF m-prong mu-corrected; ptRatioEflowApprox at EF; Candidates",50,0.0,2.0)); + addHistogram(new TH1F("hEFdRmaxMPCorr", "Max dR of associated tracks at EF m-prong mu-corrected; dRmax at EF; Candidates",50,-0.1,0.3)); + addHistogram(new TH1F("hEFtrFlightPathSigMPCorr", "TrFlightPathSig at EF m-prong mu-corrected; trFlightPathSig at EF; Candidates",50,-20.0,20.0)); + addHistogram(new TH1F("hEFmassTrkSysMPCorr", "MassTrkSys at EF m-prong mu-corrected; massTrkSys at EF [GeV]; Candidates",50,-0.1,15.0)); + addHistogram(new TH1F("hEFmEflowApproxMPCorr", "mEflowApprox at EF m-prong mu-corrected; mEflowApprox at EF ; Candidates",61,-0.2,60.2)); + if ((trigItem == "tau25_medium1_tracktwo") || (m_doEFTProfiles)) // keep the EF TProfiles of lowest single tau or if flag is turned on for the rest of the chains + { + addProfile(new TProfile("hEFinnerTrkAvgDistMPCmu", "InnerTrkAvgDist at EF vs mu m-prong mu-corrected; Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFetOverPtLeadTrkMPCmu", "EtOverPtLeadTrk at EF vs mu m-prong mu-corrected; Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFChPiEMEOverCaloEMEMPCmu", "ChPiEMEOverCaloEME at EF vs mu mp mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFEMPOverTrkSysPMPCmu", "EMPOverTrkSysP at EF vs mu m-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFcentFracMPCmu", "Centrality Fraction at EF vs mu m-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFptRatioEflowApproxMPCmu", "ptRatioEflowApprox at EF vs mu mp mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFdRmaxMPCmu", "Max dR of associated tracks at EF vs mu m-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFtrFlightPathSigMPCmu", "TrFlightPathSig at EF vs mu m-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFmassTrkSysMPCmu", "MassTrkSys at EF vs mu m-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + addProfile(new TProfile("hEFmEflowApproxMPCmu", "mEflowApprox at EF vs mu m-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + } + */ // end of mu-corrected BDT inputs + } // end of if(monBDT) + // RNN variables + if (monRNN) { - addProfile(new TProfile("hEFinnerTrkAvgDistMPCmu", "InnerTrkAvgDist at EF vs mu m-prong mu-corrected; Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFetOverPtLeadTrkMPCmu", "EtOverPtLeadTrk at EF vs mu m-prong mu-corrected; Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFChPiEMEOverCaloEMEMPCmu", "ChPiEMEOverCaloEME at EF vs mu mp mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFEMPOverTrkSysPMPCmu", "EMPOverTrkSysP at EF vs mu m-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFcentFracMPCmu", "Centrality Fraction at EF vs mu m-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFptRatioEflowApproxMPCmu", "ptRatioEflowApprox at EF vs mu mp mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFdRmaxMPCmu", "Max dR of associated tracks at EF vs mu m-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFtrFlightPathSigMPCmu", "TrFlightPathSig at EF vs mu m-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFmassTrkSysMPCmu", "MassTrkSys at EF vs mu m-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); - addProfile(new TProfile("hEFmEflowApproxMPCmu", "mEflowApprox at EF vs mu m-prong mu-corrected;Average interactions per bunch crossing;",nbin_mu-1,bins_mu)); + // output + addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/Output",run)); + setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/Output"); + addHistogram(new TH1F("hEFRNNJetScore", "RNNJetScore distribution ; RNNJetScore; Events",40,-1,1)); + addHistogram(new TH1F("hEFRNNJetScoreSigTrans", "hRNNJetScoreSigTrans distribution ; hRNNJetScoreSigTrans; Events",20,0,1)); + + // Scalar input variables + addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/InputScalar1p",run)); + setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/InputScalar1p"); + addHistogram(new TH1F("hEFRNNInput_Scalar_centFrac_1P", "Centrality Fraction (1Prong); centFrac; Events",50,-0.05,1.2)); + addHistogram(new TH1F("hEFRNNInput_Scalar_etOverPtLeadTrk_log_1P", "etOverPtLeadTrk log (1Prong); etOverPtLeadTrk_log; Events",60,-3.,3.)); + addHistogram(new TH1F("hEFRNNInput_Scalar_dRmax_1P", "max dR of associated tracks (1Prong); dRmax; Events",50,-0.1,0.3)); + addHistogram(new TH1F("hEFRNNInput_Scalar_absipSigLeadTrk_1P", "AbsIpSigLeadTrk (1Prong); absipSigLeadTrk; Events",25,0.0,20.0)); + addHistogram(new TH1F("hEFRNNInput_Scalar_SumPtTrkFrac_1P", "SumPtTrkFrac (1Prong); SumPtTrkFrac; Events",50,-0.5,1.1)); + addHistogram(new TH1F("hEFRNNInput_Scalar_EMPOverTrkSysP_log_1P", "EMPOverTrkSysP log (1Prong); EMPOverTrkSysP_log; Events",40,-5.,3.)); + addHistogram(new TH1F("hEFRNNInput_Scalar_ptRatioEflowApprox_1P", "ptRatioEflowApprox (1Prong); ptRatioEflowApprox; Events",50,0.0,2.0)); + addHistogram(new TH1F("hEFRNNInput_Scalar_mEflowApprox_log_1P", "mEflowApprox log (1Prong); mEflowApprox_log; Events",35,0.,5.));//61,-0.2,60.2)); + addHistogram(new TH1F("hEFRNNInput_Scalar_ptDetectorAxis_log_1P", "ptDetectorAxis log (1Prong); ptDetectorAxis_log; Events",50,0.,5.)); + + addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/InputScalar3p",run)); + setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/InputScalar3p"); + addHistogram(new TH1F("hEFRNNInput_Scalar_centFrac_3P", "Centrality Fraction (3Prong); centFrac; Events",50,-0.05,1.2)); + addHistogram(new TH1F("hEFRNNInput_Scalar_etOverPtLeadTrk_log_3P", "etOverPtLeadTrk log (3Prong); etOverPtLeadTrk_log; Events",60,-3.,3.)); //51,-0.1,25.0)); + addHistogram(new TH1F("hEFRNNInput_Scalar_dRmax_3P", "max dR of associated tracks (3Prong); dRmax; Events",50,-0.1,0.3)); + addHistogram(new TH1F("hEFRNNInput_Scalar_trFlightPathSig_log_3P", "trFlightPathSig log (3Prong); trFlightPathSig_log; Events",60,-3.,3.)); //50,-20.0,20.0)); + addHistogram(new TH1F("hEFRNNInput_Scalar_SumPtTrkFrac_3P", "SumPtTrkFrac (3Prong); SumPtTrkFrac; Events",50,-0.5,1.1)); + addHistogram(new TH1F("hEFRNNInput_Scalar_EMPOverTrkSysP_log_3P", "EMPOverTrkSysP log (3Prong); EMPOverTrkSysP_log; Events",40,-5.,3.));//41,0.0,40.0)); + addHistogram(new TH1F("hEFRNNInput_Scalar_ptRatioEflowApprox_3P", "ptRatioEflowApprox (3Prong); ptRatioEflowApprox; Events",50,0.0,2.0)); + addHistogram(new TH1F("hEFRNNInput_Scalar_mEflowApprox_log_3P", "mEflowApprox log (3Prong); mEflowApprox_log; Events",35,0.,5.));//35,0.,7000.));//61,-0.2,60.2)); + addHistogram(new TH1F("hEFRNNInput_Scalar_ptDetectorAxis_log_3P", "ptDetectorAxis log (3Prong); ptDetectorAxis_log; Events",50,0.,5.)); //nbin_pt-1,bins_pt)); + addHistogram(new TH1F("hEFRNNInput_Scalar_massTrkSys_log_3P", "massTrkSys log (3Prong); massTrkSys_log; Events",50,0.,3.));//50,-0.1,15.0)); + + // Track input variables + addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/InputTrack",run)); + setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/InputTrack"); + addHistogram(new TH1F("hEFRNNInput_Track_pt_log", "pt_log ; pt_log; Events",50,-5,7));//nbin_pt-1,bins_pt)); + addHistogram(new TH1F("hEFRNNInput_Track_pt_jetseed_log", "pt_jetseed_log ; pt_jetseed_log; Events",50,2,7));//nbin_pt-1,bins_pt)); + //addHistogram(new TH1F("hEFRNNInput_Track_eta", "eta ; eta; Events",nbin_eta-1,bins_eta)); + //addHistogram(new TH1F("hEFRNNInput_Track_phi", "phi ; phi; Events",16,-3.2,3.2)); + addHistogram(new TH1F("hEFRNNInput_Track_dEta", "dEta ; dEta; Events",100,-2.6,2.6));//nbin_eta-1,bins_eta)); + addHistogram(new TH1F("hEFRNNInput_Track_dPhi", "dPhi ; dPhi; Events",100,-3.2,3.2)); + addHistogram(new TH1F("hEFRNNInput_Track_d0_abs_log", "d0_abs_log ; d0_abs_log; Events",50,-7.,2.));//50,-5.,5.)); + addHistogram(new TH1F("hEFRNNInput_Track_z0sinThetaTJVA_abs_log", "z0sinThetaTJVA_abs_log ; z0sinThetaTJVA_abs_log; Events",50,-10,4));//15,-200.,200.)); + addHistogram(new TH1F("hEFRNNInput_Track_nInnermostPixelHits", "nInnermostPixelHits ; nInnermostPixelHits; Events",3,0.,3)); + addHistogram(new TH1F("hEFRNNInput_Track_nPixelHits", "nPixelHits ; nPixelHits; Events",11,0.,11)); + addHistogram(new TH1F("hEFRNNInput_Track_nSCTHits", "nSCTHits ; nSCTHits; Events",20,0.,20)); + // Cluster input variables + addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/InputCluster",run)); + setCurrentMonGroup("HLT/TauMon/Expert/"+trigItem+"/EFTau/RNN/InputCluster"); + //addHistogram(new TH1F("hEFRNNInput_Cluster_e", "e ; e; Events",nbin_pt-1,bins_pt)); + //addHistogram(new TH1F("hEFRNNInput_Cluster_et", "et ; et; Events",nbin_pt-1,bins_pt)); // or 260,0.,130. + //addHistogram(new TH1F("hEFRNNInput_Cluster_eta", "eta ; eta; Events",nbin_eta-1,bins_eta)); + //addHistogram(new TH1F("hEFRNNInput_Cluster_phi", "phi ; phi; Events",16,-3.2,3.2)); + addHistogram(new TH1F("hEFRNNInput_Cluster_et_log", "et_log ; et_log; Events",30,0.,6.));//nbin_pt-1,bins_pt)); // or 260,0.,130. + addHistogram(new TH1F("hEFRNNInput_Cluster_pt_jetseed_log", "pt_jetseed_log ; pt_jetseed_log; Events",50,2,7));//nbin_pt-1,bins_pt)); // or 260,0.,130. + addHistogram(new TH1F("hEFRNNInput_Cluster_dEta", "dEta ; dEta; Events",100,-2.6,2.6));//nbin_eta-1,bins_eta)); + addHistogram(new TH1F("hEFRNNInput_Cluster_dPhi", "dPhi ; dPhi; Events",100,-3.2,3.2)); + addHistogram(new TH1F("hEFRNNInput_Cluster_SECOND_R_log10", "SECOND_R ; SECOND_R; Events",50,-3.,7.)); + addHistogram(new TH1F("hEFRNNInput_Cluster_SECOND_LAMBDA_log10", "SECOND_LAMBDA ; SECOND_LAMBDA; Events",50,-3.,7.)); + addHistogram(new TH1F("hEFRNNInput_Cluster_CENTER_LAMBDA_log10", "CENTER_LAMBDA ; CENTER_LAMBDA; Events",50,-2.,5.)); } //-------------------- @@ -783,8 +873,12 @@ void HLTTauMonTool::bookHistogramsAllItem(){ const int nbin_eta = 9; double bins_eta[nbin_eta] = {-2.47,-1.52,-1.37,-0.69,0.,0.69,1.37,1.52,2.47}; - const int nbin_mu = 34; - float bins_mu[nbin_mu] = {0.,2.,4.,6.,8.,10.,12.,14.,16.,18.,20.,22.,24.,26.,28.,30.,32.,34.,36.,38.,40., 42., 44., 44., 46., 48., 50., 52., 54., 56., 58., 60., 62., 72}; + //const int nbin_mu = 34; + //float bins_mu[nbin_mu] = {0.,2.,4.,6.,8.,10.,12.,14.,16.,18.,20.,22.,24.,26.,28.,30.,32.,34.,36.,38.,40., 42., 44., 44., 46., 48., 50., 52., 54., 56., 58., 60., 62., 72}; + const int nbin_mu = 51; + float bins_mu[nbin_mu] = {0.,2.,4.,6.,8.,10.,12.,14.,16.,18.,20.,22.,24.,26.,28.,30.,32.,34.,36.,38.,40.,42.,44.,\ + 46.,48.,50.,52.,54.,56.,58.,60.,62.,64.,66.,68.,70.,72.,74.,76.,78., 80.,82.,84.,86.,88.,90.,92.,94.,96.,98.,100.}; + for(unsigned int i=0;i<m_trigItemsHighPt.size();++i) { addMonGroup( new MonGroup(this, "HLT/TauMon/Expert/dijetFakeTausEff/"+m_trigItemsHighPt[i],run) ); @@ -805,6 +899,7 @@ void HLTTauMonTool::bookHistogramsAllItem(){ std::vector<string> lowest_names; lowest_names.push_back("lowest_singletau"); + lowest_names.push_back("lowest_singletauMVA"); // lowest_names.push_back("lowest_ditau"); // lowest_names.push_back("lowest_etau"); // lowest_names.push_back("lowest_mutau"); @@ -935,8 +1030,11 @@ void HLTTauMonTool::bookHistogramsAllItem(){ double bins_eta[nbin_eta] = {-2.47,-1.52,-1.37,-0.69,0.,0.69,1.37,1.52,2.47}; const int nbin_nvtx = 6; double bins_nvtx[nbin_nvtx] = {0.,5.,10.,15.,20.,25.}; - const int nbin_mu = 34; - float bins_mu[nbin_mu] = {0.,2.,4.,6.,8.,10.,12.,14.,16.,18.,20.,22.,24.,26.,28.,30.,32.,34.,36.,38.,40., 42., 44., 44., 46., 48., 50., 52., 54., 56., 58., 60., 62., 72}; + const int nbin_mu = 51; + float bins_mu[nbin_mu] = {0.,2.,4.,6.,8.,10.,12.,14.,16.,18.,20.,22.,24.,26.,28.,30.,32.,34.,36.,38.,40.,42.,44.,\ + 46.,48.,50.,52.,54.,56.,58.,60.,62.,64.,66.,68.,70.,72.,74.,76.,78., 80.,82.,84.,86.,88.,90.,92.,94.,96.,98.,100.}; + //const int nbin_mu = 34; + //float bins_mu[nbin_mu] = {0.,2.,4.,6.,8.,10.,12.,14.,16.,18.,20.,22.,24.,26.,28.,30.,32.,34.,36.,38.,40., 42., 44., 44., 46., 48., 50., 52., 54., 56., 58., 60., 62., 72}; // const int nbin_mu = 21; // float bins_mu[nbin_mu] = {0.,2.,4.,6.,8.,10.,12.,14.,16.,18.,20.,22.,24.,26.,28.,30.,32.,34.,36.,38.,40.}; @@ -1319,4 +1417,12 @@ void HLTTauMonTool::bookHistogramsAllItem(){ } + if (m_doFailTrackFilterBitMonitoring) { + for(unsigned int i=0;i<m_trigMVA_chains.size(); ++i){ + addMonGroup(new MonGroup(this,"HLT/TauMon/Expert/"+m_trigMVA_chains.at(i)+"/FailTrackFilterMonitor",run)); + setCurrentMonGroup("HLT/TauMon/Expert/"+m_trigMVA_chains.at(i)+"/FailTrackFilterMonitor"); + addHistogram(new TH1F("hFailTrackFilterPt", "pT distribution of taus with (xAOD::TauJetParameters::failTrackFilter)==1 ; pT; Events",nbin_pt-1,bins_pt)); + } + } // end of m_doFailTrackFilterBitMonitoring + } diff --git a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_proc.cxx b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_proc.cxx index d7cabed71178766d986166734e02cbcc3302ca36..64889f1177de9f9a9c85d4449159bae3b0313199 100644 --- a/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_proc.cxx +++ b/Trigger/TrigMonitoring/TrigTauMonitoring/src/HLTTauMonTool_proc.cxx @@ -4,6 +4,8 @@ #include "TProfile.h" #include "HLTTauMonTool.h" +#include "AthenaMonitoring/AthenaMonManager.h" +#include "AthenaMonitoring/ManagedMonitorToolTest.h" using namespace std; @@ -33,6 +35,24 @@ StatusCode HLTTauMonTool::proc() for(unsigned int i=0;i<m_trigItems.size();++i) { + bool monRNN (false); + for (unsigned int j=0; j<m_trigRNN_chains.size(); j++) { + if ( m_trigItems.at(i) == m_trigRNN_chains.at(j) ) { + monRNN = true; + break; + } + } + bool monBDT (false); + for (unsigned int j=0; j<m_trigBDTRNN_chains.size(); j++) { + if ( m_trigItems.at(i) == m_trigBDTRNN_chains.at(j) ) { + if (!monRNN) monRNN = true; + if (!monBDT) monBDT = true; + break; + } + } + if ( (!monBDT) && (!monRNN) ) monBDT=true; // if the chain is not listed in BDTRNN, but it is also not in RNN, then it is BDT + + if(m_truth && m_turnOnCurves) { // setCurrentMonGroup("HLT/TauMon/Expert/"+m_trigItems[i]+"/TurnOnCurves/TruthEfficiency"); @@ -196,53 +216,57 @@ StatusCode HLTTauMonTool::proc() plotUnderOverFlow(hist("hEFIsoFrac")); //plotUnderOverFlow(hist("hEFPSSFraction")); plotUnderOverFlow(hist("hEFEMFraction")); - plotUnderOverFlow(hist("hScore1p")); - plotUnderOverFlow(hist("hScoremp")); - - setCurrentMonGroup("HLT/TauMon/Expert/"+m_trigItems[i]+"/EFTau/BDT/1p_nonCorrected"); - plotUnderOverFlow(hist("hEFinnerTrkAvgDist1PNCorr")); - plotUnderOverFlow(hist("hEFetOverPtLeadTrk1PNCorr")); - plotUnderOverFlow(hist("hEFipSigLeadTrk1PNCorr")); - plotUnderOverFlow(hist("hEFSumPtTrkFrac1PNCorr")); - plotUnderOverFlow(hist("hEFChPiEMEOverCaloEME1PNCorr")); - plotUnderOverFlow(hist("hEFEMPOverTrkSysP1PNCorr")); - plotUnderOverFlow(hist("hEFcentFrac1PNCorr")); - plotUnderOverFlow(hist("hEFptRatioEflowApprox1PNCorr")); - - setCurrentMonGroup("HLT/TauMon/Expert/"+m_trigItems[i]+"/EFTau/BDT/mp_nonCorrected"); - plotUnderOverFlow(hist("hEFinnerTrkAvgDistMPNCorr")); - plotUnderOverFlow(hist("hEFetOverPtLeadTrkMPNCorr")); - plotUnderOverFlow(hist("hEFChPiEMEOverCaloEMEMPNCorr")); - plotUnderOverFlow(hist("hEFEMPOverTrkSysPMPNCorr")); - plotUnderOverFlow(hist("hEFcentFracMPNCorr")); - plotUnderOverFlow(hist("hEFptRatioEflowApproxMPNCorr")); - plotUnderOverFlow(hist("hEFdRmaxMPNCorr")); - plotUnderOverFlow(hist("hEFtrFlightPathSigMPNCorr")); - plotUnderOverFlow(hist("hEFmassTrkSysMPNCorr")); - plotUnderOverFlow(hist("hEFmEflowApproxMPNCorr")); - - setCurrentMonGroup("HLT/TauMon/Expert/"+m_trigItems[i]+"/EFTau/BDT/1p_Corrected"); - plotUnderOverFlow(hist("hEFinnerTrkAvgDist1PCorr")); - plotUnderOverFlow(hist("hEFetOverPtLeadTrk1PCorr")); - plotUnderOverFlow(hist("hEFipSigLeadTrk1PCorr")); - plotUnderOverFlow(hist("hEFSumPtTrkFrac1PCorr")); - plotUnderOverFlow(hist("hEFChPiEMEOverCaloEME1PCorr")); - plotUnderOverFlow(hist("hEFEMPOverTrkSysP1PCorr")); - plotUnderOverFlow(hist("hEFcentFrac1PCorr")); - plotUnderOverFlow(hist("hEFptRatioEflowApprox1PCorr")); - - setCurrentMonGroup("HLT/TauMon/Expert/"+m_trigItems[i]+"/EFTau/BDT/mp_Corrected"); - plotUnderOverFlow(hist("hEFinnerTrkAvgDistMPCorr")); - plotUnderOverFlow(hist("hEFetOverPtLeadTrkMPCorr")); - plotUnderOverFlow(hist("hEFChPiEMEOverCaloEMEMPCorr")); - plotUnderOverFlow(hist("hEFEMPOverTrkSysPMPCorr")); - plotUnderOverFlow(hist("hEFcentFracMPCorr")); - plotUnderOverFlow(hist("hEFptRatioEflowApproxMPCorr")); - plotUnderOverFlow(hist("hEFdRmaxMPCorr")); - plotUnderOverFlow(hist("hEFtrFlightPathSigMPCorr")); - plotUnderOverFlow(hist("hEFmassTrkSysMPCorr")); - plotUnderOverFlow(hist("hEFmEflowApproxMPCorr")); - + if (monBDT) { + plotUnderOverFlow(hist("hScore1p")); + plotUnderOverFlow(hist("hScoremp")); + plotUnderOverFlow(hist("hScoreSigTrans1p")); + plotUnderOverFlow(hist("hScoreSigTransmp")); + + setCurrentMonGroup("HLT/TauMon/Expert/"+m_trigItems[i]+"/EFTau/BDT/1p_nonCorrected"); + plotUnderOverFlow(hist("hEFinnerTrkAvgDist1PNCorr")); + plotUnderOverFlow(hist("hEFetOverPtLeadTrk1PNCorr")); + plotUnderOverFlow(hist("hEFipSigLeadTrk1PNCorr")); + plotUnderOverFlow(hist("hEFSumPtTrkFrac1PNCorr")); + plotUnderOverFlow(hist("hEFChPiEMEOverCaloEME1PNCorr")); + plotUnderOverFlow(hist("hEFEMPOverTrkSysP1PNCorr")); + plotUnderOverFlow(hist("hEFcentFrac1PNCorr")); + plotUnderOverFlow(hist("hEFptRatioEflowApprox1PNCorr")); + + setCurrentMonGroup("HLT/TauMon/Expert/"+m_trigItems[i]+"/EFTau/BDT/mp_nonCorrected"); + plotUnderOverFlow(hist("hEFinnerTrkAvgDistMPNCorr")); + plotUnderOverFlow(hist("hEFetOverPtLeadTrkMPNCorr")); + plotUnderOverFlow(hist("hEFChPiEMEOverCaloEMEMPNCorr")); + plotUnderOverFlow(hist("hEFEMPOverTrkSysPMPNCorr")); + plotUnderOverFlow(hist("hEFcentFracMPNCorr")); + plotUnderOverFlow(hist("hEFptRatioEflowApproxMPNCorr")); + plotUnderOverFlow(hist("hEFdRmaxMPNCorr")); + plotUnderOverFlow(hist("hEFtrFlightPathSigMPNCorr")); + plotUnderOverFlow(hist("hEFmassTrkSysMPNCorr")); + plotUnderOverFlow(hist("hEFmEflowApproxMPNCorr")); + /* + setCurrentMonGroup("HLT/TauMon/Expert/"+m_trigItems[i]+"/EFTau/BDT/1p_Corrected"); + plotUnderOverFlow(hist("hEFinnerTrkAvgDist1PCorr")); + plotUnderOverFlow(hist("hEFetOverPtLeadTrk1PCorr")); + plotUnderOverFlow(hist("hEFipSigLeadTrk1PCorr")); + plotUnderOverFlow(hist("hEFSumPtTrkFrac1PCorr")); + plotUnderOverFlow(hist("hEFChPiEMEOverCaloEME1PCorr")); + plotUnderOverFlow(hist("hEFEMPOverTrkSysP1PCorr")); + plotUnderOverFlow(hist("hEFcentFrac1PCorr")); + plotUnderOverFlow(hist("hEFptRatioEflowApprox1PCorr")); + + setCurrentMonGroup("HLT/TauMon/Expert/"+m_trigItems[i]+"/EFTau/BDT/mp_Corrected"); + plotUnderOverFlow(hist("hEFinnerTrkAvgDistMPCorr")); + plotUnderOverFlow(hist("hEFetOverPtLeadTrkMPCorr")); + plotUnderOverFlow(hist("hEFChPiEMEOverCaloEMEMPCorr")); + plotUnderOverFlow(hist("hEFEMPOverTrkSysPMPCorr")); + plotUnderOverFlow(hist("hEFcentFracMPCorr")); + plotUnderOverFlow(hist("hEFptRatioEflowApproxMPCorr")); + plotUnderOverFlow(hist("hEFdRmaxMPCorr")); + plotUnderOverFlow(hist("hEFtrFlightPathSigMPCorr")); + plotUnderOverFlow(hist("hEFmassTrkSysMPCorr")); + plotUnderOverFlow(hist("hEFmEflowApproxMPCorr")); + */ + } setCurrentMonGroup("HLT/TauMon/Expert/"+m_trigItems[i]+"/L1VsOffline"); plotUnderOverFlow(hist("hL1EtRatio")); @@ -494,6 +518,7 @@ StatusCode HLTTauMonTool::proc() // clone shifter histograms std::vector<string> lowest_names, lowest_trigger_names; lowest_names.push_back("lowest_singletau"); lowest_trigger_names.push_back(m_lowest_singletau); + lowest_names.push_back("lowest_singletauMVA"); lowest_trigger_names.push_back(m_lowest_singletauMVA); //lowest_names.push_back("lowest_ditau"); lowest_trigger_names.push_back(m_lowest_ditau); //lowest_names.push_back("lowest_etau"); lowest_trigger_names.push_back(m_lowest_etau); //lowest_names.push_back("lowest_mutau"); lowest_trigger_names.push_back(m_lowest_mutau); @@ -502,6 +527,25 @@ StatusCode HLTTauMonTool::proc() for(unsigned int i=0;i<lowest_names.size();++i) { + + bool monRNN (false); + for (unsigned int j=0; j<m_trigRNN_chains.size(); j++) { + if ( m_trigRNN_chains.at(j)==lowest_trigger_names.at(i) ) { + monRNN = true; + break; + } + } + bool monBDT (false); + for (unsigned int j=0; j<m_trigBDTRNN_chains.size(); j++) { + if ( m_trigBDTRNN_chains.at(j)==lowest_trigger_names.at(i) ) { + if (!monRNN) monRNN = true; + if (!monBDT) monBDT = true; + break; + } + } + if ( (!monBDT) && (!monRNN) ) monBDT=true; // if the chain is not listed in BDTRNN, but it is also not in RNN, then it is BDT + + bool good_item(false); for(unsigned int j=0;j<m_trigItems.size();++j) { @@ -552,51 +596,107 @@ StatusCode HLTTauMonTool::proc() cloneHistogram("hEFIsoFrac","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau"); //cloneHistogram("hEFPSSFraction","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau"); cloneHistogram("hEFEMFraction","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau"); - cloneHistogram("hScore1p","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau"); - cloneHistogram("hScoremp","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau"); - cloneHistogram2("hEFEtaVsPhi","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau"); - cloneHistogram2("hEFEtVsPhi","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau"); - cloneHistogram2("hEFEtVsEta","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau"); - // setCurrentMonGroup("HLT/TauMon/Shifter/"+lowest_names.at(i)+"/EFTau/BDT/1p_nonCorrected"); - cloneHistogram("hEFinnerTrkAvgDist1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected"); - cloneHistogram("hEFetOverPtLeadTrk1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected"); - cloneHistogram("hEFipSigLeadTrk1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected"); - cloneHistogram("hEFSumPtTrkFrac1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected"); - // cloneHistogram("hEFChPiEMEOverCaloEME1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected"); - cloneHistogram("hEFEMPOverTrkSysP1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected"); - cloneHistogram("hEFcentFrac1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected"); - // cloneHistogram("hEFptRatioEflowApprox1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected"); - // setCurrentMonGroup("HLT/TauMon/Shifter/"+lowest_names.at(i)+"/EFTau/BDT/mp_nonCorrected"); - cloneHistogram("hEFinnerTrkAvgDistMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected"); - cloneHistogram("hEFetOverPtLeadTrkMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected"); - // cloneHistogram("hEFChPiEMEOverCaloEMEMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected"); - cloneHistogram("hEFEMPOverTrkSysPMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected"); - cloneHistogram("hEFcentFracMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected"); - // cloneHistogram("hEFptRatioEflowApproxMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected"); - cloneHistogram("hEFdRmaxMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected"); - cloneHistogram("hEFtrFlightPathSigMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected"); - // cloneHistogram("hEFmassTrkSysMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected"); - // cloneHistogram("hEFmEflowApproxMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected"); - // setCurrentMonGroup("HLT/TauMon/Shifter/"+lowest_names.at(i)+"/EFTau/BDT/1p_Corrected"); - cloneHistogram("hEFinnerTrkAvgDist1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected"); - cloneHistogram("hEFetOverPtLeadTrk1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected"); - cloneHistogram("hEFipSigLeadTrk1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected"); - cloneHistogram("hEFSumPtTrkFrac1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected"); - // cloneHistogram("hEFChPiEMEOverCaloEME1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected"); - cloneHistogram("hEFEMPOverTrkSysP1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected"); - cloneHistogram("hEFcentFrac1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected"); - // cloneHistogram("hEFptRatioEflowApprox1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected"); - // setCurrentMonGroup("HLT/TauMon/Shifter/"+lowest_names.at(i)+"/EFTau/BDT/mp_Corrected"); - cloneHistogram("hEFinnerTrkAvgDistMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected"); - cloneHistogram("hEFetOverPtLeadTrkMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected"); - // cloneHistogram("hEFChPiEMEOverCaloEMEMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected"); - cloneHistogram("hEFEMPOverTrkSysPMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected"); - cloneHistogram("hEFcentFracMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected"); - // cloneHistogram("hEFptRatioEflowApproxMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected"); - cloneHistogram("hEFdRmaxMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected"); - cloneHistogram("hEFtrFlightPathSigMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected"); - // cloneHistogram("hEFmassTrkSysMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected"); - // cloneHistogram("hEFmEflowApproxMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected"); + cloneHistogram2("hEFEtaVsPhi","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau"); + cloneHistogram2("hEFEtVsPhi","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau"); + cloneHistogram2("hEFEtVsEta","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau"); + if (monBDT) { + cloneHistogram("hScore1p","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau"); + cloneHistogram("hScoremp","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau"); + cloneHistogram("hScoreSigTrans1p","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau"); + cloneHistogram("hScoreSigTransmp","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau"); + // setCurrentMonGroup("HLT/TauMon/Shifter/"+lowest_names.at(i)+"/EFTau/BDT/1p_nonCorrected"); + cloneHistogram("hEFinnerTrkAvgDist1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected"); + cloneHistogram("hEFetOverPtLeadTrk1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected"); + cloneHistogram("hEFipSigLeadTrk1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected"); + cloneHistogram("hEFSumPtTrkFrac1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected"); + // cloneHistogram("hEFChPiEMEOverCaloEME1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected"); + cloneHistogram("hEFEMPOverTrkSysP1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected"); + cloneHistogram("hEFcentFrac1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected"); + // cloneHistogram("hEFptRatioEflowApprox1PNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_nonCorrected"); + // setCurrentMonGroup("HLT/TauMon/Shifter/"+lowest_names.at(i)+"/EFTau/BDT/mp_nonCorrected"); + cloneHistogram("hEFinnerTrkAvgDistMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected"); + cloneHistogram("hEFetOverPtLeadTrkMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected"); + // cloneHistogram("hEFChPiEMEOverCaloEMEMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected"); + cloneHistogram("hEFEMPOverTrkSysPMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected"); + cloneHistogram("hEFcentFracMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected"); + // cloneHistogram("hEFptRatioEflowApproxMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected"); + cloneHistogram("hEFdRmaxMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected"); + cloneHistogram("hEFtrFlightPathSigMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected"); + // cloneHistogram("hEFmassTrkSysMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected"); + // cloneHistogram("hEFmEflowApproxMPNCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_nonCorrected"); +/* + // setCurrentMonGroup("HLT/TauMon/Shifter/"+lowest_names.at(i)+"/EFTau/BDT/1p_Corrected"); + cloneHistogram("hEFinnerTrkAvgDist1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected"); + cloneHistogram("hEFetOverPtLeadTrk1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected"); + cloneHistogram("hEFipSigLeadTrk1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected"); + cloneHistogram("hEFSumPtTrkFrac1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected"); + // cloneHistogram("hEFChPiEMEOverCaloEME1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected"); + cloneHistogram("hEFEMPOverTrkSysP1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected"); + cloneHistogram("hEFcentFrac1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected"); + // cloneHistogram("hEFptRatioEflowApprox1PCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/1p_Corrected"); + // setCurrentMonGroup("HLT/TauMon/Shifter/"+lowest_names.at(i)+"/EFTau/BDT/mp_Corrected"); + cloneHistogram("hEFinnerTrkAvgDistMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected"); + cloneHistogram("hEFetOverPtLeadTrkMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected"); + // cloneHistogram("hEFChPiEMEOverCaloEMEMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected"); + cloneHistogram("hEFEMPOverTrkSysPMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected"); + cloneHistogram("hEFcentFracMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected"); + // cloneHistogram("hEFptRatioEflowApproxMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected"); + cloneHistogram("hEFdRmaxMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected"); + cloneHistogram("hEFtrFlightPathSigMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected"); + // cloneHistogram("hEFmassTrkSysMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected"); + // cloneHistogram("hEFmEflowApproxMPCorr","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/BDT/mp_Corrected"); +*/ + } + if (monRNN) { + // scalar RNN inputs 1prong + cloneHistogram("hEFRNNInput_Scalar_centFrac_1P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar1p"); + cloneHistogram("hEFRNNInput_Scalar_etOverPtLeadTrk_log_1P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar1p"); + cloneHistogram("hEFRNNInput_Scalar_dRmax_1P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar1p"); + cloneHistogram("hEFRNNInput_Scalar_absipSigLeadTrk_1P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar1p"); + cloneHistogram("hEFRNNInput_Scalar_SumPtTrkFrac_1P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar1p"); + cloneHistogram("hEFRNNInput_Scalar_EMPOverTrkSysP_log_1P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar1p"); + cloneHistogram("hEFRNNInput_Scalar_ptRatioEflowApprox_1P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar1p"); + cloneHistogram("hEFRNNInput_Scalar_mEflowApprox_log_1P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar1p"); + cloneHistogram("hEFRNNInput_Scalar_ptDetectorAxis_log_1P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar1p"); + // scalar RNN inputs 3prong + cloneHistogram("hEFRNNInput_Scalar_centFrac_3P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar3p"); + cloneHistogram("hEFRNNInput_Scalar_etOverPtLeadTrk_log_3P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar3p"); + cloneHistogram("hEFRNNInput_Scalar_dRmax_3P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar3p"); + cloneHistogram("hEFRNNInput_Scalar_trFlightPathSig_log_3P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar3p"); + cloneHistogram("hEFRNNInput_Scalar_SumPtTrkFrac_3P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar3p"); + cloneHistogram("hEFRNNInput_Scalar_EMPOverTrkSysP_log_3P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar3p"); + cloneHistogram("hEFRNNInput_Scalar_ptRatioEflowApprox_3P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar3p"); + cloneHistogram("hEFRNNInput_Scalar_mEflowApprox_log_3P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar3p"); + cloneHistogram("hEFRNNInput_Scalar_ptDetectorAxis_log_3P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar3p"); + cloneHistogram("hEFRNNInput_Scalar_massTrkSys_log_3P","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputScalar3p"); + // track RNN inputs + cloneHistogram("hEFRNNInput_Track_pt_log","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputTrack"); + cloneHistogram("hEFRNNInput_Track_pt_jetseed_log","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputTrack"); + //cloneHistogram("hEFRNNInput_Track_eta","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputTrack"); + //cloneHistogram("hEFRNNInput_Track_phi","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputTrack"); + cloneHistogram("hEFRNNInput_Track_dEta","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputTrack"); + cloneHistogram("hEFRNNInput_Track_dPhi","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputTrack"); + cloneHistogram("hEFRNNInput_Track_d0_abs_log","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputTrack"); + cloneHistogram("hEFRNNInput_Track_z0sinThetaTJVA_abs_log","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputTrack"); + cloneHistogram("hEFRNNInput_Track_nInnermostPixelHits","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputTrack"); + cloneHistogram("hEFRNNInput_Track_nPixelHits","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputTrack"); + cloneHistogram("hEFRNNInput_Track_nSCTHits","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputTrack"); + // cluster RNN inputs + //cloneHistogram("hEFRNNInput_Cluster_e","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputCluster"); + //cloneHistogram("hEFRNNInput_Cluster_et","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputCluster"); + //cloneHistogram("hEFRNNInput_Cluster_eta","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputCluster"); + //cloneHistogram("hEFRNNInput_Cluster_phi","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputCluster"); + cloneHistogram("hEFRNNInput_Cluster_et_log","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputCluster"); + cloneHistogram("hEFRNNInput_Cluster_pt_jetseed_log","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputCluster"); + cloneHistogram("hEFRNNInput_Cluster_dEta","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputCluster"); + cloneHistogram("hEFRNNInput_Cluster_dPhi","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputCluster"); + cloneHistogram("hEFRNNInput_Cluster_SECOND_R_log10","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputCluster"); + cloneHistogram("hEFRNNInput_Cluster_SECOND_LAMBDA_log10","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputCluster"); + cloneHistogram("hEFRNNInput_Cluster_CENTER_LAMBDA_log10","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/InputCluster"); + // RNN outputs + cloneHistogram("hEFRNNJetScore","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/Output"); + cloneHistogram("hEFRNNJetScoreSigTrans","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/EFTau/RNN/Output"); + } setCurrentMonGroup("HLT/TauMon/Shifter/"+lowest_names.at(i)+"/L1VsOffline"); cloneHistogram("hL1EtRatio","HLT/TauMon/Expert/"+lowest_trigger_names.at(i)+"/L1VsOffline"); diff --git a/Trigger/TrigValidation/TrigInDetValidation/share/TrigInDetValidation_RTT_Chains.py b/Trigger/TrigValidation/TrigInDetValidation/share/TrigInDetValidation_RTT_Chains.py index c8de0b40a00ca3670c70057b4ca9cda966881e3f..5560e91983a08d29e08f2eb04e843c4b6522f3f5 100644 --- a/Trigger/TrigValidation/TrigInDetValidation/share/TrigInDetValidation_RTT_Chains.py +++ b/Trigger/TrigValidation/TrigInDetValidation/share/TrigInDetValidation_RTT_Chains.py @@ -25,19 +25,6 @@ def muonChains(doIDNewTracking, doFTK): if doIDNewTracking: tidaAnalysischains += ["Offline"] - idTrigChainlist.append(['mu24_L2Star_idperf', 'L1_MU20', [], ['Main'], ['RATE:SingleMuon','BW:Muon'], 1]) - idTrigChainlist.append(['mu6_L2Star_idperf', 'L1_MU6', [], ['Main'], ['RATE:SingleMuon','BW:Muon'], 1]) - tidaAnalysischains.append('HLT_mu24_L2Star_idperf:TrigL2SiTrackFinder_Muon:0') - tidaAnalysischains.append('HLT_mu24_L2Star_idperf:TrigL2SiTrackFinder_Muon:1') - tidaAnalysischains.append('HLT_mu24_L2Star_idperf:TrigL2SiTrackFinder_Muon:2') - tidaAnalysischains.append('HLT_mu24_L2Star_idperf:InDetTrigParticleCreation_Muon_EFID') - tidaAnalysischains.append('HLT_mu24_L2Star_idperf:InDetTrigTrackingxAODCnv_Muon_EFID') - tidaAnalysischains.append('HLT_mu6_L2Star_idperf:TrigL2SiTrackFinder_Muon:0') - tidaAnalysischains.append('HLT_mu6_L2Star_idperf:TrigL2SiTrackFinder_Muon:1') - tidaAnalysischains.append('HLT_mu6_L2Star_idperf:TrigL2SiTrackFinder_Muon:2') - tidaAnalysischains.append('HLT_mu6_L2Star_idperf:InDetTrigParticleCreation_Muon_EFID') - tidaAnalysischains.append('HLT_mu6_L2Star_idperf:InDetTrigTrackingxAODCnv_Muon_EFID') - idTrigChainlist.append(['mu24_idperf', 'L1_MU20', [], ['Main'], ['RATE:SingleMuon','BW:Muon'], 1]) idTrigChainlist.append(['mu6_idperf', 'L1_MU6', [], ['Main'], ['RATE:SingleMuon','BW:Muon'], 1]) tidaAnalysischains.append('HLT_mu24_idperf:InDetTrigTrackingxAODCnv_Muon_FTF') diff --git a/Trigger/TriggerCommon/TriggerMenu/python/menu/MC_pp_v7.py b/Trigger/TriggerCommon/TriggerMenu/python/menu/MC_pp_v7.py index c70551a280025c8152ee04fe675bea1d4c1f8c14..802005b70a5375d658e4df3a6387284b4684f405 100644 --- a/Trigger/TriggerCommon/TriggerMenu/python/menu/MC_pp_v7.py +++ b/Trigger/TriggerCommon/TriggerMenu/python/menu/MC_pp_v7.py @@ -904,14 +904,6 @@ def setupMenu(): ['tau25_perf_tracktwo2015', 'L1_TAU12IM', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1], ['tau25_medium1_tracktwo2015', 'L1_TAU12IM', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1], - # Run-I comparison - ['tau20_r1medium1', 'L1_TAU12', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1], - ['tau20_r1perf', 'L1_TAU12', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1], - ['tau25_r1perf', 'L1_TAU12', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1], - ['tau29_r1medium1', 'L1_TAU20', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1], - ['tau29_r1perf', 'L1_TAU20', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1], - ['tau125_r1medium1', 'L1_TAU60', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1], - ['tau125_r1perf', 'L1_TAU60', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1], # Run-II - No BDT: variations ['tau25_perf_calo', 'L1_TAU12IM', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1], ['tau25_perf_calo_L1TAU12', 'L1_TAU12', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1], @@ -959,8 +951,6 @@ def setupMenu(): # Energy calibration chain ['tau5_perf_ptonly_L1TAU8', 'L1_TAU8', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1], # Run-I comparison - ['tau20_r1_idperf', 'L1_TAU12', [], [PhysicsStream], ['RATE:IDMonitoring', 'BW:Tau', 'BW:ID'], -1], - ['tau25_r1_idperf', 'L1_TAU12', [], [PhysicsStream], ['RATE:IDMonitoring', 'BW:Tau', 'BW:ID'], -1], ['tau25_perf_track_L1TAU12', 'L1_TAU12', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1], # Run-II - With BDT: no pre-selection ['tau25_medium1_mvonly', 'L1_TAU12IM', [], [PhysicsStream], ['RATE:SingleTau', 'BW:Tau'], -1], @@ -3150,13 +3140,8 @@ ps_perform_list = [ 'tau125_medium1_calo', 'tau125_medium1_track', 'tau125_perf_ptonly', - 'tau125_r1medium1', - 'tau125_r1perf', 'tau160_idperf_track', 'tau160_perf_track', - 'tau20_r1_idperf', - 'tau20_r1medium1', - 'tau20_r1perf', 'tau25_idperf_track', 'tau25_idperf_tracktwo2015', 'tau25_loose1_ptonly', @@ -3177,11 +3162,7 @@ ps_perform_list = [ 'tau25_perf_tracktwo2015', 'tau25_perf_tracktwo_L1TAU12', 'tau25_perf_tracktwocalo', - 'tau25_r1_idperf', - 'tau25_r1perf', 'tau25_tight1_ptonly', - 'tau29_r1medium1', - 'tau29_r1perf', 'tau35_loose1_ptonly', 'tau35_medium1_calo', 'tau35_medium1_ptonly',