ATLAS Offline Software
Public Member Functions | Public Attributes | List of all members
python.subdetectors.afp.DCSC_Merged_Variable Class Reference
Inheritance diagram for python.subdetectors.afp.DCSC_Merged_Variable:
Collaboration diagram for python.subdetectors.afp.DCSC_Merged_Variable:

Public Member Functions

def __init__ (self, folders, evaluator, *mapping={}, **kwargs)
 
def get_variable (self, name)
 
def read (self, query_range, folder_base, folder_names)
 
def merge_input_variables (self, *inputs)
 
def merge_inputs (self, clazz, channel, *inputs)
 

Public Attributes

 folder_names
 
 mapping
 

Detailed Description

Definition at line 33 of file afp.py.

Constructor & Destructor Documentation

◆ __init__()

def python.subdetectors.afp.DCSC_Merged_Variable.__init__ (   self,
  folders,
  evaluator,
mapping = {},
**  kwargs 
)

Definition at line 34 of file afp.py.

34  def __init__(self, folders, evaluator, *, mapping={}, **kwargs):
35  folder_merge = ','.join(folders)
36 
37  super().__init__(folder_merge, evaluator, **kwargs)
38  self.folder_names = folders
39  self.mapping = mapping
40 

Member Function Documentation

◆ get_variable()

def python.subdetectors.afp.DCSC_Merged_Variable.get_variable (   self,
  name 
)

Definition at line 41 of file afp.py.

41  def get_variable(self, name):
42  for var in self.variables:
43  if var.folder_name == name:
44  return var
45  raise RuntimeError("Folder '%s' not found" % name)
46 

◆ merge_input_variables()

def python.subdetectors.afp.DCSC_Merged_Variable.merge_input_variables (   self,
inputs 
)

Definition at line 69 of file afp.py.

69  def merge_input_variables(self, *inputs):
70  type_bases = [iovs.iov_type for iovs in inputs]
71  base_names = [base.__name__[:-4] for base in type_bases]
72  attributes = [base.lower() for base in base_names]
73  clazz = make_iov_type('MERGER_OF_' + '_AND_'.join(base_names), tuple(['channel'] + attributes))
74 
75  inputs_by_channel = [iovs.by_channel for iovs in inputs]
76  all_channels = sorted(set(y for x in inputs_by_channel for y in x.keys()))
77 
78  result = []
79  for channel in all_channels:
80  c_inputs = [x[channel] for x in inputs_by_channel]
81  result.extend(iov for iov in self.merge_inputs(clazz, channel, *c_inputs))
82 
83  return IOVSet(result, iov_type=clazz, origin=self.folder_names)
84 

◆ merge_inputs()

def python.subdetectors.afp.DCSC_Merged_Variable.merge_inputs (   self,
  clazz,
  channel,
inputs 
)

Definition at line 85 of file afp.py.

85  def merge_inputs(self, clazz, channel, *inputs):
86  result = [clazz(since, until, channel, *states) for since, until, states in process_iovs(*inputs)]
87  return IOVSet(result, iov_type=clazz, origin=self.folder_names)
88 
89 @define_iov_type

◆ read()

def python.subdetectors.afp.DCSC_Merged_Variable.read (   self,
  query_range,
  folder_base,
  folder_names 
)

Definition at line 47 of file afp.py.

47  def read(self, query_range, folder_base, folder_names):
48  var_iovs = []
49  folders = folder_names.split(',')
50 
51  for folder in folders:
52  iovs = super().read(query_range, folder_base, folder)
53  if folder in self.mapping:
54  iovs = map_channels(iovs, self.mapping[folder], folder)
55  var_iovs.append(iovs)
56 
57  iovs = self.merge_input_variables(*var_iovs)
58 
59  if config.opts.check_input_time:
60  self.print_time_info(iovs)
61 
62  if log.isEnabledFor(logging.INFO):
63  input_hash = hash(iovs)
64  self.input_hashes.append(input_hash)
65  #log.info(" -> Input hash: % 09x (len=%i)", input_hash, len(iovs))
66 
67  return iovs
68 

Member Data Documentation

◆ folder_names

python.subdetectors.afp.DCSC_Merged_Variable.folder_names

Definition at line 38 of file afp.py.

◆ mapping

python.subdetectors.afp.DCSC_Merged_Variable.mapping

Definition at line 39 of file afp.py.


The documentation for this class was generated from the following file:
read
IovVectorMap_t read(const Folder &theFolder, const SelectionCriterion &choice, const unsigned int limit=10)
Definition: openCoraCool.cxx:569
python.libcore.map_channels
def map_channels(iovs, mapping, folder)
Definition: libcore.py:39
dumpHVPathFromNtuple.append
bool append
Definition: dumpHVPathFromNtuple.py:91
python.events.process_iovs
def process_iovs(*iovsets)
Definition: events.py:30
DerivationFramework::TriggerMatchingUtils::sorted
std::vector< typename T::value_type > sorted(T begin, T end)
Helper function to create a sorted vector from an unsorted one.
CxxUtils::set
constexpr std::enable_if_t< is_bitmask_v< E >, E & > set(E &lhs, E rhs)
Convenience function to set bits in a class enum bitmask.
Definition: bitmask.h:224
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
python.processes.powheg.ZZ.ZZ.__init__
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
Definition: ZZ.py:18
CaloCondBlobAlgs_fillNoiseFromASCII.hash
dictionary hash
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:109
python.sugar.iovtype.make_iov_type
def make_iov_type(name, variables, bases=(IOVType,), _memoized={})
Definition: iovtype.py:114