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 24 of file EventSelectionConfig.py.

Constructor & Destructor Documentation

◆ __init__()

python.EventSelectionConfig.EventSelectionMergerConfig.__init__ ( self)

Definition at line 27 of file EventSelectionConfig.py.

27 def __init__(self):
28 super(EventSelectionMergerConfig, self).__init__()
29 self._instance_number = EventSelectionMergerConfig.get_instance_count()
30 self.setBlockName('EventSelectionMerger')
31 self.addDependency('EventSelection', required=True)
32 self.addOption('noFilter', False, type=bool,
33 info="do not apply an event filter, i.e. setting it to `False` "
34 "removes events not passing the full list of selection cuts.")
35

Member Function Documentation

◆ instanceName()

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

Definition at line 36 of file EventSelectionConfig.py.

36 def instanceName (self) :
37 """Return the instance name for this block"""
38 return '' # There is only ever one instance of this block
39

◆ makeAlgs()

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

Definition at line 40 of file EventSelectionConfig.py.

40 def makeAlgs(self, config):
41 # Only the first instance runs; all others are no-ops
42 if self._instance_number != 1:
43 return
44
45 selections = config.getContainerMeta('EventInfo', 'eventSelectionNames',
46 failOnMiss=True)
47 selections = [sel for sel in selections if not sel.startswith("pass_SUB")]
48
49 alg = config.createAlgorithm('CP::SaveFilterAlg',
50 'EventSelectionMerger' + selections[0].split("_%SYS%")[0])
51 alg.FilterDescription = 'events passing at least one EventSelection'
52 alg.eventDecisionOutputDecoration = 'ignore_anySelection_%SYS%'
53 alg.selection = '||'.join([sel + ',as_char' for sel in selections])
54 alg.noFilter = self.noFilter
55 alg.selectionName = 'pass_anySelection_%SYS%'
56 alg.decorationName = 'ntuplepass_anySelection_%SYS%'
57
58
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 29 of file EventSelectionConfig.py.


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