ATLAS Offline Software
Loading...
Searching...
No Matches
python.EventSelectionConfig.EventSelectionMergerConfig Class Reference
Inheritance diagram for python.EventSelectionConfig.EventSelectionMergerConfig:
Collaboration diagram for python.EventSelectionConfig.EventSelectionMergerConfig:

Public Member Functions

 __init__ (self)
 instanceName (self)
 makeAlgs (self, config)

Protected Attributes

 _instance_number = EventSelectionMergerConfig.get_instance_count()

Detailed Description

ConfigBlock for merging the output of various selection streams

Definition at line 129 of file EventSelectionConfig.py.

Constructor & Destructor Documentation

◆ __init__()

python.EventSelectionConfig.EventSelectionMergerConfig.__init__ ( self)

Definition at line 132 of file EventSelectionConfig.py.

132 def __init__(self):
133 super(EventSelectionMergerConfig, self).__init__()
134 self._instance_number = EventSelectionMergerConfig.get_instance_count()
135 self.setBlockName('EventSelectionMerger')
136 self.addDependency('EventSelection', required=True)
137 self.addOption('noFilter', False, type=bool,
138 info="do not apply an event filter, i.e. setting it to `False` "
139 "removes events not passing the full list of selection cuts.")
140

Member Function Documentation

◆ instanceName()

python.EventSelectionConfig.EventSelectionMergerConfig.instanceName ( self)
Return the instance name for this block

Definition at line 141 of file EventSelectionConfig.py.

141 def instanceName (self) :
142 """Return the instance name for this block"""
143 return '' # There is only ever one instance of this block
144

◆ makeAlgs()

python.EventSelectionConfig.EventSelectionMergerConfig.makeAlgs ( self,
config )

Definition at line 145 of file EventSelectionConfig.py.

145 def makeAlgs(self, config):
146 # Only the first instance runs; all others are no-ops
147 if self._instance_number != 1:
148 return
149
150 selections = config.getContainerMeta('EventInfo', 'eventSelectionNames',
151 failOnMiss=True)
152 selections = [sel for sel in selections if not sel.startswith("pass_SUB")]
153
154 alg = config.createAlgorithm('CP::SaveFilterAlg',
155 'EventSelectionMerger' + selections[0].split("_%SYS%")[0])
156 alg.FilterDescription = 'events passing at least one EventSelection'
157 alg.eventDecisionOutputDecoration = 'ignore_anySelection_%SYS%'
158 alg.selection = '||'.join([sel + ',as_char' for sel in selections])
159 alg.noFilter = self.noFilter
160 alg.selectionName = 'pass_anySelection_%SYS%'
161 alg.decorationName = 'ntuplepass_anySelection_%SYS%'
162
163
std::vector< std::string > split(const std::string &s, const std::string &t=":")
Definition hcg.cxx:179

Member Data Documentation

◆ _instance_number

python.EventSelectionConfig.EventSelectionMergerConfig._instance_number = EventSelectionMergerConfig.get_instance_count()
protected

Definition at line 134 of file EventSelectionConfig.py.


The documentation for this class was generated from the following file: