Commit c45fa460 authored by Jean-Baptiste De Vivie De Regie's avatar Jean-Baptiste De Vivie De Regie Committed by Adam Edward Barton
Browse files

Fix for egamma trigger monitoring (+ track isolation small modification)

parent 85c0f535
......@@ -4,33 +4,31 @@
#include "egammaMonitorElectronAlgorithm.h"
egammaMonitorElectronAlgorithm::egammaMonitorElectronAlgorithm( const std::string& name, ISvcLocator* pSvcLocator ):
egammaMonitorElectronAlgorithm::egammaMonitorElectronAlgorithm(const std::string& name, ISvcLocator* pSvcLocator):
egammaMonitorBaseAlgorithm( name, pSvcLocator )
{}
StatusCode egammaMonitorElectronAlgorithm::initialize()
{
ATH_CHECK(m_electronsKey.initialize());
ATH_CHECK(m_isoKey.initialize());
m_baseName = Form("%s.",m_electronsKey.key().c_str());
ATH_CHECK(egammaMonitorBaseAlgorithm::initialize());
if (!m_monTool.empty()) CHECK(m_monTool.retrieve());
return StatusCode::SUCCESS;
}
StatusCode egammaMonitorElectronAlgorithm::execute(const EventContext& ctx) const
{
filltopoElectronTrackCaloMatch(ctx);
filltopoElectronShowerShapes(ctx);
filltopoElectronIsolation(ctx);
return StatusCode::SUCCESS;
}
void egammaMonitorElectronAlgorithm::filltopoElectronTrackCaloMatch( const EventContext& ctx) const{
void egammaMonitorElectronAlgorithm::filltopoElectronTrackCaloMatch(const EventContext& ctx) const{
SG::ReadHandle<xAOD::ElectronContainer> electrons(m_electronsKey, ctx);
......@@ -74,9 +72,7 @@ void egammaMonitorElectronAlgorithm::filltopoElectronTrackCaloMatch( const Event
deltaPhi0_col,deltaPhi1_col,deltaPhi2_col,deltaPhi3_col,deltaPhiRescaled0_col,
deltaPhiRescaled1_col,deltaPhiRescaled2_col,deltaPhiRescaled3_col,deltaPhiLast_col,d0_col);
ATH_MSG_DEBUG("Electron - Track Online Monitoring in Reconstruction ...");
ATH_MSG_DEBUG("Electron - Track Online Monitoring in Reconstruction ...");
}
void egammaMonitorElectronAlgorithm::filltopoElectronShowerShapes(const EventContext& ctx) const{
......@@ -85,9 +81,7 @@ void egammaMonitorElectronAlgorithm::filltopoElectronShowerShapes(const EventCon
ATH_MSG_DEBUG("Fill SS Reco Electron distributions: ");
std::vector<float> ethad_vec, ethad1_vec, Rhad_vec, Rhad1_vec, Reta_vec, Rphi_vec,e237_vec,e277_vec, weta1_vec, weta2_vec, wtots1_vec,
f1_vec, f3_vec, eratio_vec, et_vec, highet_vec , eta_vec, phi_vec, topoetcone20_vec, topoetcone40_shift_vec,
topoetcone20_rel_vec, topoetcone40_shift_rel_vec;
f1_vec, f3_vec, eratio_vec, et_vec, highet_vec , eta_vec, phi_vec;
auto ethad_col = Monitored::Collection("ethad" , ethad_vec );
auto ethad1_col = Monitored::Collection("ethad1" , ethad1_vec );
......@@ -107,9 +101,6 @@ void egammaMonitorElectronAlgorithm::filltopoElectronShowerShapes(const EventCon
auto highet_col = Monitored::Collection("highet" , highet_vec );
auto eta_col = Monitored::Collection("eta" , eta_vec );
auto phi_col = Monitored::Collection("phi" , phi_vec );
auto topoetcone20_col = Monitored::Collection("topoetcone20", topoetcone20_vec);
auto topoetcone40_shift_col = Monitored::Collection("topoetcone40_shift", topoetcone40_shift_vec );
for ( const auto electron : *electrons ){
......@@ -133,43 +124,47 @@ void egammaMonitorElectronAlgorithm::filltopoElectronShowerShapes(const EventCon
highet_vec.push_back( electron->pt()/Gaudi::Units::GeV);
eta_vec.push_back( electron->eta());
phi_vec.push_back( electron->phi());
topoetcone20_vec.push_back( getIsolation_topoetcone20(electron)/Gaudi::Units::GeV);
topoetcone40_shift_vec.push_back( (getIsolation_topoetcone40(electron)-2450)/Gaudi::Units::GeV );
}
auto mon = Monitored::Group(m_monTool,ethad_col, ethad1_col, Rhad_col, Rhad1_col, Reta_col, Rphi_col,e237_col,e277_col, weta1_col, weta2_col, wtots1_col,
f1_col, f3_col, eratio_col, et_col, highet_col , eta_col, phi_col, topoetcone20_col, topoetcone40_shift_col);
f1_col, f3_col, eratio_col, et_col, highet_col , eta_col, phi_col);
}
void egammaMonitorElectronAlgorithm::filltopoElectronIsolation( const EventContext& ctx) const{
SG::ReadHandle<xAOD::ElectronContainer> electrons(m_electronsKey, ctx);
std::vector<float> ptcone20_vec, ptcone30_vec, ptcone40_vec, ptvarcone20_vec, ptvarcone30_vec, ptvarcone40_vec;
auto ptcone20_col = Monitored::Collection("ptcone20", ptcone20_vec);
auto ptcone30_col = Monitored::Collection("ptcone30", ptcone30_vec);
auto ptcone40_col = Monitored::Collection("ptcone40", ptcone40_vec);
auto ptvarcone20_col = Monitored::Collection("ptvarcone20", ptvarcone20_vec);
auto ptvarcone30_col = Monitored::Collection("ptvarcone30", ptvarcone30_vec);
auto ptvarcone40_col = Monitored::Collection("ptvarcone40", ptvarcone40_vec);
void egammaMonitorElectronAlgorithm::filltopoElectronIsolation(const EventContext& ctx) const{
SG::ReadHandle<xAOD::ElectronContainer> electrons(m_electronsKey, ctx);
// This is ok but defeats a bit the purpose...
std::map<TString,std::vector<float>> iso_vec;
for (auto hk : m_isoKey) {
TString n = hk.key();
n.ReplaceAll(m_baseName,"");
iso_vec.emplace(n,std::vector<float>());
}
// this is the hard-coded piece that defeats the purpose...
auto col0 = Monitored::Collection("ptcone20",iso_vec["ptcone20"]);
auto col1 = Monitored::Collection("ptvarcone20",iso_vec["ptvarcone20"]);
std::vector<std::reference_wrapper<Monitored::IMonitoredVariable>> allMonIsoVars;
allMonIsoVars.insert(allMonIsoVars.end(),{col0,col1});
for (auto hk : m_isoKey) {
TString n = hk.key();
n.ReplaceAll(m_baseName,"");
SG::ReadDecorHandle<xAOD::ElectronContainer, float> handle(hk,ctx);
for (const xAOD::Electron* electron : *electrons){
ptcone20_vec.push_back( getIsolation_ptcone20(electron)/Gaudi::Units::GeV);
ptcone30_vec.push_back( getIsolation_ptcone30(electron)/Gaudi::Units::GeV);
ptcone40_vec.push_back( getIsolation_ptcone40(electron)/Gaudi::Units::GeV);
ptvarcone20_vec.push_back( getIsolation_ptvarcone20(electron)/Gaudi::Units::GeV);
ptvarcone30_vec.push_back( getIsolation_ptvarcone30(electron)/Gaudi::Units::GeV);
ptvarcone40_vec.push_back( getIsolation_ptvarcone40(electron)/Gaudi::Units::GeV);
ATH_MSG_DEBUG("From " << m_electronsKey.key() << " ele, pt = " << electron->pt()/Gaudi::Units::GeV
<< " track pT = " << electron->trackParticle()->pt()/Gaudi::Units::GeV
<< " eta = " << electron->eta() << " phi = " << electron->phi() << " for handler whose name is " << n);
if (!handle.isValid()) {
ATH_MSG_WARNING(hk << " is not valid");
} else {
ATH_MSG_DEBUG(hk << " is valid");
iso_vec[n].push_back(handle(*electron)/Gaudi::Units::GeV);
}
}
auto mon = Monitored::Group(m_monTool,ptcone20_col, ptcone30_col, ptcone40_col,ptvarcone20_col, ptvarcone30_col, ptvarcone40_col );
ATH_MSG_DEBUG("Electron - Isolation Online Monitoring in Reconstruction ...");
}
auto mon = Monitored::Group(m_monTool, std::move(allMonIsoVars));
ATH_MSG_DEBUG("Electron - Isolation Online Monitoring in Reconstruction ...");
}
......@@ -7,15 +7,16 @@
#include "egammaMonitorBaseAlgorithm.h"
#include "StoreGate/ReadDecorHandleKeyArray.h"
class egammaMonitorElectronAlgorithm: public egammaMonitorBaseAlgorithm
{
public:
egammaMonitorElectronAlgorithm( const std::string& name, ISvcLocator* pSvcLocator );
egammaMonitorElectronAlgorithm(const std::string& name, ISvcLocator* pSvcLocator);
virtual StatusCode initialize() override;
virtual StatusCode execute( const EventContext& ctx) const override;
virtual StatusCode execute(const EventContext& ctx) const override;
protected:
......@@ -24,9 +25,11 @@ class egammaMonitorElectronAlgorithm: public egammaMonitorBaseAlgorithm
void filltopoElectronIsolation(const EventContext& ctx) const;
private:
SG::ReadHandleKey<xAOD::ElectronContainer> m_electronsKey{ this, "ElectronKey", "Electrons", ""};
ToolHandle<GenericMonitoringTool> m_monTool{this,"MonTool","","Monitoring tool"};
TString m_baseName;
SG::ReadHandleKey<xAOD::ElectronContainer> m_electronsKey{this, "ElectronKey", "Electrons", ""};
SG::ReadDecorHandleKeyArray<xAOD::ElectronContainer> m_isoKey{this, "IsoVarKeys", { }, "The list of isolation variables to be monitored"};
ToolHandle<GenericMonitoringTool> m_monTool{this, "MonTool", "", "Monitoring tool"};
};
......
......@@ -7,13 +7,14 @@
egammaMonitorPhotonAlgorithm::egammaMonitorPhotonAlgorithm( const std::string& name, ISvcLocator* pSvcLocator ):
egammaMonitorBaseAlgorithm( name, pSvcLocator )
{}
StatusCode egammaMonitorPhotonAlgorithm::initialize()
{
{
ATH_CHECK(m_photonsKey.initialize());
ATH_CHECK(m_isoKey.initialize());
m_baseName = Form("%s.",m_photonsKey.key().c_str());
ATH_CHECK(egammaMonitorBaseAlgorithm::initialize());
if (!m_monTool.empty()) CHECK(m_monTool.retrieve());
......@@ -22,7 +23,6 @@ StatusCode egammaMonitorPhotonAlgorithm::initialize()
StatusCode egammaMonitorPhotonAlgorithm::execute(const EventContext& ctx) const
{
filltopoPhotonShowerShapes(ctx);
filltopoPhotonIsolation(ctx);
return StatusCode::SUCCESS;
......@@ -35,8 +35,7 @@ void egammaMonitorPhotonAlgorithm::filltopoPhotonShowerShapes( const EventContex
ATH_MSG_DEBUG("Fill SS Reco Photon distributions: ");
std::vector<float> ethad_vec, ethad1_vec, Rhad_vec, Rhad1_vec, Reta_vec, Rphi_vec,e237_vec,e277_vec, weta1_vec, weta2_vec, wtots1_vec,
f1_vec, f3_vec, eratio_vec, et_vec, highet_vec , eta_vec, phi_vec, topoetcone20_vec, topoetcone40_shift_vec,
topoetcone20_rel_vec, topoetcone40_shift_rel_vec;
f1_vec, f3_vec, eratio_vec, et_vec, highet_vec , eta_vec, phi_vec;
auto ethad_col = Monitored::Collection("ethad" , ethad_vec );
auto ethad1_col = Monitored::Collection("ethad1" , ethad1_vec );
......@@ -56,10 +55,7 @@ void egammaMonitorPhotonAlgorithm::filltopoPhotonShowerShapes( const EventContex
auto highet_col = Monitored::Collection("highet" , highet_vec );
auto eta_col = Monitored::Collection("eta" , eta_vec );
auto phi_col = Monitored::Collection("phi" , phi_vec );
auto topoetcone20_col = Monitored::Collection("topoetcone20", topoetcone20_vec);
auto topoetcone40_shift_col = Monitored::Collection("topoetcone40_shift", topoetcone40_shift_vec );
for ( const auto photon : *photons ){
if(!photon) continue;
......@@ -82,48 +78,40 @@ void egammaMonitorPhotonAlgorithm::filltopoPhotonShowerShapes( const EventContex
highet_vec.push_back( photon->pt()/Gaudi::Units::GeV);
eta_vec.push_back( photon->eta());
phi_vec.push_back( photon->phi());
topoetcone20_vec.push_back( getIsolation_topoetcone20(photon)/Gaudi::Units::GeV);
topoetcone40_shift_vec.push_back( (getIsolation_topoetcone40(photon)-2450)/Gaudi::Units::GeV );
}
auto mon = Monitored::Group(m_monTool,ethad_col, ethad1_col, Rhad_col, Rhad1_col, Reta_col, Rphi_col,e237_col,e277_col, weta1_col, weta2_col, wtots1_col,
f1_col, f3_col, eratio_col, et_col, highet_col , eta_col, phi_col, topoetcone20_col, topoetcone40_shift_col);
f1_col, f3_col, eratio_col, et_col, highet_col , eta_col, phi_col);
}
void egammaMonitorPhotonAlgorithm::filltopoPhotonIsolation( const EventContext& ctx) const{
SG::ReadHandle<xAOD::PhotonContainer> photons(m_photonsKey, ctx);
std::vector<float> ptcone20_vec, ptcone30_vec, ptcone40_vec, ptvarcone20_vec, ptvarcone30_vec, ptvarcone40_vec;
auto ptcone20_col = Monitored::Collection("ptcone20", ptcone20_vec);
auto ptcone30_col = Monitored::Collection("ptcone30", ptcone30_vec);
auto ptcone40_col = Monitored::Collection("ptcone40", ptcone40_vec);
auto ptvarcone20_col = Monitored::Collection("ptvarcone20", ptvarcone20_vec);
auto ptvarcone30_col = Monitored::Collection("ptvarcone30", ptvarcone30_vec);
auto ptvarcone40_col = Monitored::Collection("ptvarcone40", ptvarcone40_vec);
for (const xAOD::Photon* photon : *photons){
ptcone20_vec.push_back( getIsolation_ptcone20(photon)/Gaudi::Units::GeV);
ptcone30_vec.push_back( getIsolation_ptcone30(photon)/Gaudi::Units::GeV);
ptcone40_vec.push_back( getIsolation_ptcone40(photon)/Gaudi::Units::GeV);
ptvarcone20_vec.push_back( getIsolation_ptvarcone20(photon)/Gaudi::Units::GeV);
ptvarcone30_vec.push_back( getIsolation_ptvarcone30(photon)/Gaudi::Units::GeV);
ptvarcone40_vec.push_back( getIsolation_ptvarcone40(photon)/Gaudi::Units::GeV);
// All pt(var)coneXX would need ReadDecorHandle, but they are not computed anyway ! Remove for the time being
void egammaMonitorPhotonAlgorithm::filltopoPhotonIsolation(const EventContext& ctx) const{
SG::ReadHandle<xAOD::PhotonContainer> photons(m_photonsKey, ctx);
std::vector<float> topoetcone20_vec, topoetcone40_shift_vec;
auto topoetcone20_col = Monitored::Collection("topoetcone20", topoetcone20_vec);
auto topoetcone40_shift_col = Monitored::Collection("topoetcone40_shift", topoetcone40_shift_vec);
for (auto hk : m_isoKey) {
TString n = hk.key();
n.ReplaceAll(m_baseName,"");
SG::ReadDecorHandle<xAOD::PhotonContainer, float> handle(hk,ctx);
for (const xAOD::Photon* ph : *photons){
ATH_MSG_DEBUG("From " << m_photonsKey.key() << " pt = " << ph->pt()/Gaudi::Units::GeV
<< " eta = " << ph->eta() << " phi = " << ph->phi() << " for handler whose name is " << n);
if (!handle.isValid()) {
ATH_MSG_WARNING(hk << " is not valid");
} else {
ATH_MSG_DEBUG(hk << " is valid");
if (n == "topoetcone20")
topoetcone20_vec.push_back(handle(*ph)/Gaudi::Units::GeV);
else if (n == "topoetcone40")
topoetcone40_shift_vec.push_back(handle(*ph)/Gaudi::Units::GeV-2.45);
}
}
auto mon = Monitored::Group(m_monTool,ptcone20_col, ptcone30_col, ptcone40_col,ptvarcone20_col, ptvarcone30_col, ptvarcone40_col );
ATH_MSG_DEBUG("Photon - Isolation Online Monitoring in Reconstruction ...");
}
auto mon = Monitored::Group(m_monTool, topoetcone20_col, topoetcone40_shift_col);
ATH_MSG_DEBUG("Photon - Isolation Online Monitoring in Reconstruction ...");
}
......@@ -7,25 +7,28 @@
#include "egammaMonitorBaseAlgorithm.h"
#include "StoreGate/ReadDecorHandleKeyArray.h"
class egammaMonitorPhotonAlgorithm: public egammaMonitorBaseAlgorithm
{
public:
egammaMonitorPhotonAlgorithm( const std::string& name, ISvcLocator* pSvcLocator );
egammaMonitorPhotonAlgorithm(const std::string& name, ISvcLocator* pSvcLocator);
virtual StatusCode initialize() override;
virtual StatusCode execute( const EventContext& ctx) const override;
virtual StatusCode execute(const EventContext& ctx) const override;
protected:
void filltopoPhotonShowerShapes(const EventContext& ctx) const;
void filltopoPhotonIsolation(const EventContext& ctx) const;
private:
SG::ReadHandleKey<xAOD::PhotonContainer> m_photonsKey{ this, "PhotonKey", "Photons", ""};
ToolHandle<GenericMonitoringTool> m_monTool{this,"MonTool","","Monitoring tool"};
TString m_baseName;
SG::ReadHandleKey<xAOD::PhotonContainer> m_photonsKey{this, "PhotonKey", "Photons", ""};
SG::ReadDecorHandleKeyArray<xAOD::PhotonContainer> m_isoKey{this, "IsoVarKeys", { }, "The list of isolation variables to be monitored"};
ToolHandle<GenericMonitoringTool> m_monTool{this, "MonTool", "", "Monitoring tool"};
};
#endif
......@@ -1931,19 +1931,19 @@ HLT_e26_dnntight_L1EM22VHI:
3: 4
4: 3
HLT_e26_gsf_lhtight_ivarloose_L1EM22VHI:
eventCount: 3
eventCount: 4
stepCounts:
0: 5
1: 4
2: 4
3: 4
4: 3
4: 4
stepFeatures:
0: 5
1: 6
2: 4
3: 4
4: 3
4: 4
HLT_e26_idperf_gsf_tight_L1EM22VHI:
eventCount: 5
stepCounts:
......
......@@ -120,11 +120,8 @@ def TrigElectronIsoBuilderCfg(name='TrigElectronIsolationBuilder'):
CaloTopoIsolationTool = None,
PFlowIsolationTool = None,
TrackIsolationTool = TrigTrackIsolationTool,
FeIsoTypes = [[]],
FeCorTypes = [[]],
FeCorTypesExtra = [[]],
ElIsoTypes = [[isoPar.ptcone20]],
ElCorTypes = [[]],
ElCorTypes = [[isoPar.coreTrackPtr]],
ElCorTypesExtra = [[]],
)
return TrigElectronIsolationBuilder()
......@@ -138,12 +135,9 @@ def TrigElectronIsoBuilderCfg_LRT(name='TrigElectronIsolationBuilder_LRT'):
CaloTopoIsolationTool = None,
PFlowIsolationTool = None,
TrackIsolationTool = TrigTrackIsolationTool_LRT,
FeIsoTypes = [[]],
FeCorTypes = [[]],
FeCorTypesExtra = [[]],
ElIsoTypes = [[isoPar.ptcone20]],
ElCorTypes = [[]],
ElCorTypesExtra = [[]],
ElCorTypes = [[isoPar.coreTrackPtr]],
ElCorTypesExtra = [[]],
)
return TrigElectronIsolationBuilder()
......@@ -194,7 +188,7 @@ def TrigPhotonIsoBuilderCfg(name='TrigPhotonIsolationBuilder'):
CaloTopoIsolationTool = TrigCaloIsolationTool,
PFlowIsolationTool = None,
TrackIsolationTool = None,
PhIsoTypes = [[isoPar.topoetcone20]],
PhIsoTypes = [[isoPar.topoetcone20, isoPar.topoetcone40]],
PhCorTypes = [[isoPar.core57cells]],
PhCorTypesExtra = [[]],
)
......
......@@ -85,6 +85,7 @@ def precisionElectronRecoSequence(RoIs, ion=False):
from TriggerMenuMT.HLTMenuConfig.Electron.TrigElectronFactories import PrecisionElectronTopoMonitorCfg
PrecisionElectronRecoMonAlgo = PrecisionElectronTopoMonitorCfg()
PrecisionElectronRecoMonAlgo.ElectronKey = TrigTopoEgammaAlgo.ElectronOutputName
PrecisionElectronRecoMonAlgo.IsoVarKeys = [ '%s.ptcone20' % TrigTopoEgammaAlgo.ElectronOutputName, '%s.ptvarcone20' % TrigTopoEgammaAlgo.ElectronOutputName]
thesequence += PrecisionElectronRecoMonAlgo
#online monitoring for TrigElectronSuperClusterBuilder
......
......@@ -91,8 +91,9 @@ def precisionElectronRecoSequence_GSF(RoIs):
#online monitoring for topoEgammaBuilder_GSF
from TriggerMenuMT.HLTMenuConfig.Electron.TrigElectronFactories import PrecisionElectronTopoMonitorCfg
PrecisionElectronRecoMonAlgo_GSF = PrecisionElectronTopoMonitorCfg("PrecisionElectronTopoEgammaBuilder_GSF")
PrecisionElectronRecoMonAlgo_GSF = PrecisionElectronTopoMonitorCfg("PrecisionElectronTopoMonitoring_GSF")
PrecisionElectronRecoMonAlgo_GSF.ElectronKey = TrigTopoEgammaAlgo_GSF.ElectronOutputName
PrecisionElectronRecoMonAlgo_GSF.IsoVarKeys = [ '%s.ptcone20' % TrigTopoEgammaAlgo_GSF.ElectronOutputName, '%s.ptvarcone20' % TrigTopoEgammaAlgo_GSF.ElectronOutputName]
thesequence_GSF += PrecisionElectronRecoMonAlgo_GSF
#online monitoring for TrigElectronSuperClusterBuilder_GSF
......
......@@ -80,8 +80,9 @@ def precisionElectronRecoSequence_LRT(RoIs):
#online monitoring for topoEgammaBuilder_LRT
from TriggerMenuMT.HLTMenuConfig.Electron.TrigElectronFactories import PrecisionElectronTopoMonitorCfg
PrecisionElectronRecoMonAlgo_LRT = PrecisionElectronTopoMonitorCfg("PrecisionElectronTopoEgammaBuilder_LRT")
PrecisionElectronRecoMonAlgo_LRT = PrecisionElectronTopoMonitorCfg("PrecisionElectronTopoMonitoring_LRT")
PrecisionElectronRecoMonAlgo_LRT.ElectronKey = TrigTopoEgammaAlgo.ElectronOutputName
PrecisionElectronRecoMonAlgo_LRT.IsoVarKeys = [ '%s.ptcone20' % TrigTopoEgammaAlgo.ElectronOutputName, '%s.ptvarcone20' % TrigTopoEgammaAlgo.ElectronOutputName]
thesequence += PrecisionElectronRecoMonAlgo_LRT
#online monitoring for TrigElectronSuperClusterBuilder_LRT
......
......@@ -66,7 +66,7 @@ def TrigTopoEgammaElectronCfg(name='topoEgammaBuilder_TrigElectrons'):
)
return TrigTopoEgammaElectron()
def PrecisionElectronTopoMonitorCfg(name = 'PrecisionElectronTopoEgammaBuilder'):
def PrecisionElectronTopoMonitorCfg(name = 'PrecisionElectronTopoMonitoring'):
from TrigEgammaMonitoring import TrigEgammaMonitoringConf
from TrigEgammaMonitoring.egammaMonitorPrecisionConfig import egammaMonitorPrecisionCfg
......@@ -81,7 +81,7 @@ def PrecisionElectronTopoMonitorCfg(name = 'PrecisionElectronTopoEgammaBuilder')
return PrecisionElectronTopoMonitor()
def PrecisionElectronSuperClusterMonitorCfg(name = 'PrecisionElectronSuperClusterBuilder'):
def PrecisionElectronSuperClusterMonitorCfg(name = 'PrecisionElectronSuperClusterMonitoring'):
from TrigEgammaMonitoring import TrigEgammaMonitoringConf
from TrigEgammaMonitoring.egammaMonitorPrecisionConfig import egammaMonitorSuperClusterCfg
......
......@@ -62,6 +62,7 @@ def precisionPhotonRecoSequence(RoIs):
from TriggerMenuMT.HLTMenuConfig.Photon.TrigPhotonFactories import PrecisionPhotonTopoMonitorCfg
PrecisionPhotonRecoMonAlgo = PrecisionPhotonTopoMonitorCfg()
PrecisionPhotonRecoMonAlgo.PhotonKey = trigTopoEgammaAlgo.PhotonOutputName
PrecisionPhotonRecoMonAlgo.IsoVarKeys = [ '%s.topoetcone20' % trigTopoEgammaAlgo.PhotonOutputName, '%s.topoetcone40' % trigTopoEgammaAlgo.PhotonOutputName]
thesequence += PrecisionPhotonRecoMonAlgo
#online monitoring for TrigPhotonSuperClusterBuilder
......
......@@ -70,7 +70,7 @@ TrigTopoEgammaPhotons = AlgFactory( egammaAlgsConf.topoEgammaBuilder,
doElectrons = False,
)
def PrecisionPhotonTopoMonitorCfg(name = 'PrecisionPhotonTopoEgammaBuilder'):
def PrecisionPhotonTopoMonitorCfg(name = 'PrecisionPhotonTopoMonitoring'):
from TrigEgammaMonitoring import TrigEgammaMonitoringConf
from TrigEgammaMonitoring.egammaMonitorPrecisionConfig import egammaMonitorPrecisionCfg
......@@ -85,7 +85,7 @@ def PrecisionPhotonTopoMonitorCfg(name = 'PrecisionPhotonTopoEgammaBuilder'):
return PrecisionPhotonTopoMonitor()
def PrecisionPhotonSuperClusterMonitorCfg(name = 'PrecisionPhotonSuperClusterBuilder'):
def PrecisionPhotonSuperClusterMonitorCfg(name = 'PrecisionPhotonSuperClusterMonitoring'):
from TrigEgammaMonitoring import TrigEgammaMonitoringConf
from TrigEgammaMonitoring.egammaMonitorPrecisionConfig import egammaMonitorSuperClusterCfg
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment