40 for (std::vector<CP::SystematicSet>::iterator sysItr =
m_sysList.begin() + 1; sysItr !=
m_sysList.end(); ++sysItr) {
41 std::string syst_name = (*sysItr).name();
45 std::vector<std::string> empty_list;
50 m_MSOnlyExtr = std::make_unique<MMCTest::TrackInfo>(
"MSOE", empty_list);
52 m_DebugFile =
new TFile(
m_Output.c_str(),
"RECREATE",
"Smearing and non-Smearing of Muons");
53 m_DebugTree =
new TTree(
"CorrectionsTree",
"This Tree contains the information of the muon after smearing effects");
63 return StatusCode::SUCCESS;
80 mymuons->setStore(mymuonsaux);
87 for (; mu_itr != mu_end; ++mu_itr) {
89 if ((*mu_itr)->muonType() != xAOD::Muon::Combined)
continue;
91 const xAOD::TrackParticle* cbTrack = (*mu_itr)->trackParticle(xAOD::Muon::CombinedTrackParticle);
94 const xAOD::TrackParticle* idTrack = (*mu_itr)->trackParticle(xAOD::Muon::InnerDetectorTrackParticle);
99 meTrack = (*mu_itr)->trackParticle(xAOD::Muon::ExtrapolatedMuonSpectrometerTrackParticle);
100 }
catch (
SG::ExcBadAuxVar& b) { meTrack = (*mu_itr)->trackParticle(xAOD::Muon::MuonSpectrometerTrackParticle); }
101 if (meTrack)
m_MSExtr->Fill(meTrack);
105 msoeTrack = (*mu_itr)->trackParticle(xAOD::Muon::MSOnlyExtrapolatedMuonSpectrometerTrackParticle);
106 }
catch (
SG::ExcBadAuxVar& b) { msoeTrack = (*mu_itr)->trackParticle(xAOD::Muon::MuonSpectrometerTrackParticle); }
111 for (std::vector<CP::SystematicSet>::iterator sysItr =
m_sysList.begin() + 1; sysItr !=
m_sysList.end(); ++sysItr) {
112 if (
m_MCaSTool->applySystematicVariation(*sysItr) != StatusCode::SUCCESS) {
continue; }
119 std::string syst_name = (*sysItr).name();
128 m_InnerDet->SetCalibPt(InnerDetectorPtAcc (*mu), syst_name);
129 m_MSExtr->SetCalibPt(MuonSpectrometerPtAcc (*mu), syst_name);
136 return StatusCode::SUCCESS;
141 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
Helper class to provide constant type-safe access to aux data.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
ServiceHandle< StoreGateSvc > & evtStore()
@ Error
Some error happened during the object correction.
This module implements the central registry for handling systematic uncertainties with CP tools.
const SystematicSet & recommendedSystematics() const
returns: the recommended set of systematics
static SystematicRegistry & getInstance()
Get the singleton instance of the registry for the curren thread.
Class to wrap a set of SystematicVariations.
DataModel_detail::const_iterator< DataVector > const_iterator
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
size_type size() const noexcept
Returns the number of elements in the collection.
Helper class to provide constant type-safe access to aux data.
Exception — Attempt to retrieve nonexistent aux data item.
Select isolated Photons, Electrons and Muons.
std::vector< CP::SystematicSet > make_systematics_vector(const SystematicSet &systematics)
utility functions for working with systematics
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Muon_v1 Muon
Reference the current persistent version:
MuonAuxContainer_v5 MuonAuxContainer
Definition of the current Muon auxiliary container.
MuonContainer_v1 MuonContainer
Definition of the current "Muon container version".