DAS  3.0
Das Analysis System
TreeFlattener

Description

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 *‍/) {
myFlattener->ExecuteAtBegin(); // clear
myFlattener->ExecuteAtEnd(); // prepare to fill
tOut->Fill();
}

#include <Flattener.h>

+ Inheritance diagram for TreeFlattener:
+ Collaboration diagram for TreeFlattener:

Public Member Functions

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

◆ TreeFlattener() [1/2]

TreeFlattener ( )
default

◆ ~TreeFlattener() [1/2]

virtual ~TreeFlattener ( )
virtualdefault

◆ TreeFlattener() [2/2]

TreeFlattener ( )
default

◆ ~TreeFlattener() [2/2]

virtual ~TreeFlattener ( )
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.

210  {nominal}) override
211  {
212  for (const auto& br: branch_flatteners)
213  br->Clear();
214  }

◆ 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.

210  {nominal}) override
211  {
212  for (const auto& br: branch_flatteners)
213  br->Clear();
214  }

◆ 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.

220  {nominal}) override
221  {
222  for (const auto& br: branch_flatteners)
223  br->Fill();
224  }

◆ 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.

220  {nominal}) override
221  {
222  for (const auto& br: branch_flatteners)
223  br->Fill();
224  }

◆ GetParamsVeto() [1/2]

virtual int GetParamsVeto ( )
inlineoverrideprotectedvirtualnoexcept

Plugin's forbidden modes.

See also
Darwin::Tools::Mode

Reimplemented from IPlugin.

199 { return DT::syst; }

◆ GetParamsVeto() [2/2]

virtual int GetParamsVeto ( )
inlineoverrideprotectedvirtualnoexcept

Plugin's forbidden modes.

See also
Darwin::Tools::Mode

Reimplemented from IPlugin.

199 { 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
Darwin::Physics::TreeFlattener::branch_flatteners
std::list< std::unique_ptr< BranchFlattener > > branch_flatteners
Definition: Flattener.h:197
Ntupliser_cfg.config
config
Definition: Ntupliser_cfg.py:333
Darwin::Physics::nominal
const Variation nominal("", "nominal")
Darwin::Tools::IPlugin::steering
int steering
runtime steering options from command line (
Definition: IPlugin.h:33