 |
ATLAS Offline Software
|
Go to the documentation of this file.
16 AthAlgorithm(
name, svcLoc), m_MCaSTool(
"CP::MuonCalibrationAndSmearingTool/MuonCalibrationAndSmearingTool", this) {
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) {
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); }
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;
def retrieve(aClass, aKey=None)
JetConstituentVector::iterator iterator
Const iterator class for DataVector/DataList.
std::vector< CP::SystematicSet > make_systematics_vector(const SystematicSet &systematics)
utility functions for working with systematics
MuonContainer_v1 MuonContainer
Definition of the current "Muon container version".
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Class to wrap a set of SystematicVariations.
Select isolated Photons, Electrons and Muons.
Temporary container used until we have I/O for AuxStoreInternal.
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
@ Error
Some error happened during the object correction.
Exception — Attempt to retrieve nonexistent aux data item.
::StatusCode StatusCode
StatusCode definition for legacy code.
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
#define ATH_MSG_WARNING(x)
This module implements the central registry for handling systematic uncertainties with CP tools.
Class describing a TrackParticle.
Helper class to provide constant type-safe access to aux data.
MuonAuxContainer_v5 MuonAuxContainer
Definition of the current Muon auxiliary container.
size_type size() const noexcept
Returns the number of elements in the collection.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
static SystematicRegistry & getInstance()
Get the singleton instance of the registry for the curren thread.