DAS  3.0
Das Analysis System
PhysicsObjectFlattener< GenObject, RecObject >

Description

template<typename GenObject, typename RecObject>
class Darwin::Physics::PhysicsObjectFlattener< GenObject, RecObject >

Plugin template to produce flat branches for physics objects.

Assuming myFlattener, an object instantiated from a library that inherits from this class and is loaded from a plugin:

myFlattener->Load(flow, metainfo, steering, config);
for (/* events *&zwj;/) {
myFlattener->ExecuteAtBegin(); // clear
myFlattener->ExecuteAtEnd(); // prepare to fill
tOut->Fill();
}

#include <Flattener.h>

+ Inheritance diagram for PhysicsObjectFlattener< GenObject, RecObject >:
+ Collaboration diagram for PhysicsObjectFlattener< GenObject, RecObject >:

Public Member Functions

 PhysicsObjectFlattener ()=default
 
virtual ~PhysicsObjectFlattener ()=default
 
virtual void ExecuteAtBegin (const std::set< Variation > &={nominal}) override
 
virtual void ExecuteAtEnd (const std::set< Variation > &={nominal}) override
 
 PhysicsObjectFlattener ()=default
 
virtual ~PhysicsObjectFlattener ()=default
 
virtual void ExecuteAtBegin (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 &={})
 

Protected Member Functions

virtual int GetParamsVeto () noexcept override
 
virtual int GetParamsVeto () noexcept override
 

Protected Attributes

std::list< std::unique_ptr< BranchFlattener > > branch_flatteners
 
- Protected Attributes inherited from IPlugin
int steering = none
 
bool isMC = false
 

Constructor & Destructor Documentation

◆ PhysicsObjectFlattener() [1/2]

◆ ~PhysicsObjectFlattener() [1/2]

virtual ~PhysicsObjectFlattener ( )
virtualdefault

◆ PhysicsObjectFlattener() [2/2]

◆ ~PhysicsObjectFlattener() [2/2]

virtual ~PhysicsObjectFlattener ( )
virtualdefault

Member Function Documentation

◆ ExecuteAtBegin() [1/2]

virtual void ExecuteAtBegin ( const std::set< Variation > &  = {nominal})
inlineoverridevirtual

Clear output branches.

The variations given in arguments should not be used.

Reimplemented from GenericPlugin.

154  {nominal}) override
155  {
156  for (const auto& br: branch_flatteners)
157  br->Clear();
158  }

◆ ExecuteAtBegin() [2/2]

virtual void ExecuteAtBegin ( const std::set< Variation > &  = {nominal})
inlineoverridevirtual

Clear output branches.

The variations given in arguments should not be used.

Reimplemented from GenericPlugin.

154  {nominal}) override
155  {
156  for (const auto& br: branch_flatteners)
157  br->Clear();
158  }

◆ ExecuteAtEnd() [1/2]

virtual void ExecuteAtEnd ( const std::set< Variation > &  = {nominal})
inlineoverridevirtual

Fill output branches.

The variations given in arguments should not be used.

Reimplemented from GenericPlugin.

164  {nominal}) override
165  {
166  for (const auto& br: branch_flatteners)
167  br->Fill();
168  }

◆ ExecuteAtEnd() [2/2]

virtual void ExecuteAtEnd ( const std::set< Variation > &  = {nominal})
inlineoverridevirtual

Fill output branches.

The variations given in arguments should not be used.

Reimplemented from GenericPlugin.

164  {nominal}) override
165  {
166  for (const auto& br: branch_flatteners)
167  br->Fill();
168  }

◆ GetParamsVeto() [1/2]

virtual int GetParamsVeto ( )
inlineoverrideprotectedvirtualnoexcept

Plugin's forbidden modes.

See also
Darwin::Tools::Mode

Reimplemented from IPlugin.

143 { return DT::syst; }

◆ GetParamsVeto() [2/2]

virtual int GetParamsVeto ( )
inlineoverrideprotectedvirtualnoexcept

Plugin's forbidden modes.

See also
Darwin::Tools::Mode

Reimplemented from IPlugin.

143 { return DT::syst; }

Member Data Documentation

◆ branch_flatteners

std::list< std::unique_ptr< BranchFlattener > > branch_flatteners
protected

The documentation for this class was generated from the following file:
Darwin::Tools::syst
@ syst
activate -s to systematic uncertainties
Definition: Options.h:34
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::branch_flatteners
std::list< std::unique_ptr< BranchFlattener > > branch_flatteners
Definition: Flattener.h:141