DAS  3.0
Das Analysis System
MuonFlattener

Description

Plugin to produce a flat branches for muon variables.

The output format is compatible with NANOAOD from CMS.

+ Inheritance diagram for MuonFlattener:
+ Collaboration diagram for MuonFlattener:

Public Member Functions

virtual void Load (DT::Flow &flow, DT::MetaInfo &metainfo, int steering=0, const pt::ptree &config={}) override
 
- Public Member Functions inherited from PhysicsObjectFlattener< GenMuon, RecMuon >
 PhysicsObjectFlattener ()=default
 
 PhysicsObjectFlattener ()=default
 
virtual ~PhysicsObjectFlattener ()=default
 
virtual ~PhysicsObjectFlattener ()=default
 
virtual void ExecuteAtBegin (const std::set< Variation > &={nominal}) override
 
virtual void ExecuteAtBegin (const std::set< Variation > &={nominal}) override
 
virtual void ExecuteAtEnd (const std::set< Variation > &={nominal}) override
 
virtual void ExecuteAtEnd (const std::set< Variation > &={nominal}) override
 
- Public Member Functions inherited from GenericPlugin
 GenericPlugin ()=default
 
virtual ~GenericPlugin ()=default
 
virtual void Write (TDirectory *)
 
 GenericPlugin ()=default
 
virtual ~GenericPlugin ()=default
 
virtual void Write (TDirectory *)
 
- Public Member Functions inherited from IPlugin
 IPlugin ()=default
 
virtual ~IPlugin ()
 
void SetPath (const std::filesystem::path &file) noexcept
 
virtual void Load (Darwin::Tools::Flow &, Darwin::Tools::MetaInfo &, int=0, const boost::property_tree::ptree &={})
 
 IPlugin ()=default
 
virtual ~IPlugin ()
 
void SetPath (const std::filesystem::path &file) noexcept
 
virtual void Load (Darwin::Tools::Flow &, Darwin::Tools::MetaInfo &, int=0, const boost::property_tree::ptree &={})
 

Additional Inherited Members

- Protected Member Functions inherited from PhysicsObjectFlattener< GenMuon, RecMuon >
virtual int GetParamsVeto () noexcept override
 
virtual int GetParamsVeto () noexcept override
 
- Protected Attributes inherited from PhysicsObjectFlattener< GenMuon, RecMuon >
std::list< std::unique_ptr< BranchFlattener > > branch_flatteners
 
- Protected Attributes inherited from IPlugin
int steering = none
 
bool isMC = false
 

Member Function Documentation

◆ Load()

virtual void Load ( DT::Flow flow,
DT::MetaInfo metainfo,
int  steering = 0,
const pt::ptree &  config = {} 
)
inlineoverridevirtual
Note
: selectors are stored differently in NANOAOD
Todo:
Emplace more branch flatteners to handle variations
58  {}
59  ) override
60  {
62 
63  auto recMuons_flattener = make_unique<ScaledObjectBranchFlattener<RecMuon>>(flow, nominal, "recMuons", "Muon");
64 
66  recMuons_flattener->Add<uint32_t>(flow, "Muon_selectors", [](const RecMuon& muon) { return muon.selectors; });
67  recMuons_flattener->Add<int>(flow, "Muon_charge", [](const RecMuon& muon) { return muon.Q; });
68  branch_flatteners.emplace_back(std::move(recMuons_flattener));
69 
70  auto genMuons_flattener = make_unique<ScaledObjectBranchFlattener<GenMuon>>(flow, nominal, "genMuons", "GenDressedLepton");
71  genMuons_flattener->Add<int>(flow, "GenDressedLepton_pdgId", [](const GenMuon& muon) { return 13*muon.Q; });
72  branch_flatteners.emplace_back(std::move(genMuons_flattener));
73 
75  }

The documentation for this class was generated from the following file:
Darwin::Tools::IPlugin::Load
virtual void Load(Darwin::Tools::Flow &, Darwin::Tools::MetaInfo &, int=0, const boost::property_tree::ptree &={})
Set steering.
Definition: IPlugin.cc:18
Darwin::Physics::RecMuon
Generic detector-level muon.
Definition: Lepton.h:31
Ntupliser_cfg.config
config
Definition: Ntupliser_cfg.py:330
Darwin::Physics::nominal
const Variation nominal("", "nominal")
Darwin::Tools::IPlugin::steering
int steering
runtime steering options from command line (
Definition: IPlugin.h:33
Darwin::Physics::PhysicsObjectFlattener< GenMuon, RecMuon >::branch_flatteners
std::list< std::unique_ptr< BranchFlattener > > branch_flatteners
Definition: Flattener.h:141
Darwin::Physics::GenMuon
Generic generator-level muon.
Definition: Lepton.h:14