ATLAS Offline Software
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
python.MultipleStreamManager.AugmentedStreamBase Class Reference
Inheritance diagram for python.MultipleStreamManager.AugmentedStreamBase:
Collaboration diagram for python.MultipleStreamManager.AugmentedStreamBase:

Public Member Functions

def __init__ (self, StreamName)
 
def AddAcceptAlgs (self, algs)
 Accept Algs. More...
 
def RemoveAcceptAlgs (self, algs)
 
def GetAcceptAlgs (self)
 
def AddRequireAlgs (self, algs)
 Require Algs. More...
 
def RemoveRequireAlgs (self, algs)
 
def GetRequireAlgs (self)
 
def AddVetoAlgs (self, algs)
 Veto Algs (ignored by prescaler for now) More...
 
def RemoveVetoAlgs (self, algs)
 
def GetVetoAlgs (self)
 
def AddOtherAlgsToBookkeep (self, algs)
 Other Algs (e.g. More...
 
def RemoveOtherAlgsToBookkeep (self, algs)
 
def GetOtherAlgsToBookkeep (self)
 
def GetSkimDecisionsWriter (self)
 Skim decisions writer. More...
 
def SetPrescale (self, value)
 Master prescale. More...
 
def GetPrescale (self)
 

Public Attributes

 Name
 
 OtherAlgs
 

Private Member Functions

def _ItemInList (self, item, aList)
 
def _AddValidItemToList (self, item, aList)
 
def _RemoveValidItemFromList (self, item, aList)
 

Private Attributes

 _Prescaler
 

Detailed Description

This class manages common methods of AugmentedPoolStream and AugmentedByteStream.

Definition at line 11 of file MultipleStreamManager.py.

Constructor & Destructor Documentation

◆ __init__()

def python.MultipleStreamManager.AugmentedStreamBase.__init__ (   self,
  StreamName 
)

Definition at line 13 of file MultipleStreamManager.py.

13  def __init__(self, StreamName):
14  self.Name = StreamName
15  self.OtherAlgs=[]
16  #the following attributes must exist in all child classes:
17  #self.Stream
18  #self.Print()
19  #self.SetOutputFileName()
20  #self.Add/Remove(MetaData)Item()
21  return
22 

Member Function Documentation

◆ _AddValidItemToList()

def python.MultipleStreamManager.AugmentedStreamBase._AddValidItemToList (   self,
  item,
  aList 
)
private

Definition at line 35 of file MultipleStreamManager.py.

35  def _AddValidItemToList(self,item,aList):
36  #Recursive loop if item is a list
37  if isinstance(item,list):
38  for i in item:
39  self._AddValidItemToList(i,aList)
40  #Add to list if item is a string and not already in the list
41  elif isinstance(item, str):
42  if not self._ItemInList(item,aList):
43  aList += [item]
44  else:
45  raise TypeError("AugmentedPoolStream._AddValidItemToList() does not support item of type %s"%type(item))
46  return
47 

◆ _ItemInList()

def python.MultipleStreamManager.AugmentedStreamBase._ItemInList (   self,
  item,
  aList 
)
private

Definition at line 24 of file MultipleStreamManager.py.

24  def _ItemInList(self,item,aList):
25  #Make sure aList is a list
26  if not isinstance(aList, list):
27  raise TypeError("AugmentedPoolStream._ItemInList() does not support aList of type %s"%type(aList))
28 
29  isInList=False
30  for i in aList:
31  if i==item:
32  isInList=True
33  return isInList
34 

◆ _RemoveValidItemFromList()

def python.MultipleStreamManager.AugmentedStreamBase._RemoveValidItemFromList (   self,
  item,
  aList 
)
private

Definition at line 48 of file MultipleStreamManager.py.

48  def _RemoveValidItemFromList(self,item,aList):
49  #Recursive loop if item is a list
50  if isinstance(item,list):
51  for i in item:
52  self._RemoveValidItemFromList(i,aList)
53  #Remove from list if item is a string and already in list
54  elif isinstance(item, str):
55  if self._ItemInList(item,aList):
56  aList.remove(item)
57  else:
58  print(self.Name,": WARNING you asked to remove item '%s' but this item is not present",item)
59  else:
60  raise TypeError("AugmentedPoolStream._RemoveValidItemFromList() does not support item of type %s"%type(item))
61  return
62 

◆ AddAcceptAlgs()

def python.MultipleStreamManager.AugmentedStreamBase.AddAcceptAlgs (   self,
  algs 
)

Accept Algs.

Definition at line 65 of file MultipleStreamManager.py.

65  def AddAcceptAlgs(self, algs):
66  self._AddValidItemToList(algs, self.Stream.AcceptAlgs)
67  return
68 

◆ AddOtherAlgsToBookkeep()

def python.MultipleStreamManager.AugmentedStreamBase.AddOtherAlgsToBookkeep (   self,
  algs 
)

Other Algs (e.g.

those used by a FilterCombiner, but ignored by everybody else)

Definition at line 104 of file MultipleStreamManager.py.

104  def AddOtherAlgsToBookkeep(self, algs):
105  self._AddValidItemToList(algs, self.OtherAlgs)
106  return
107 

◆ AddRequireAlgs()

def python.MultipleStreamManager.AugmentedStreamBase.AddRequireAlgs (   self,
  algs 
)

Require Algs.

Definition at line 78 of file MultipleStreamManager.py.

78  def AddRequireAlgs(self, algs):
79  self._AddValidItemToList(algs, self.Stream.RequireAlgs)
80  return
81 

◆ AddVetoAlgs()

def python.MultipleStreamManager.AugmentedStreamBase.AddVetoAlgs (   self,
  algs 
)

Veto Algs (ignored by prescaler for now)

Definition at line 91 of file MultipleStreamManager.py.

91  def AddVetoAlgs(self, algs):
92  self._AddValidItemToList(algs, self.Stream.VetoAlgs)
93  return
94 

◆ GetAcceptAlgs()

def python.MultipleStreamManager.AugmentedStreamBase.GetAcceptAlgs (   self)

Definition at line 73 of file MultipleStreamManager.py.

73  def GetAcceptAlgs(self):
74  return self.Stream.AcceptAlgs
75 

◆ GetOtherAlgsToBookkeep()

def python.MultipleStreamManager.AugmentedStreamBase.GetOtherAlgsToBookkeep (   self)

Definition at line 112 of file MultipleStreamManager.py.

112  def GetOtherAlgsToBookkeep(self):
113  return self.OtherAlgs
114 

◆ GetPrescale()

def python.MultipleStreamManager.AugmentedStreamBase.GetPrescale (   self)

Definition at line 156 of file MultipleStreamManager.py.

156  def GetPrescale(self):
157  if hasattr(self,"_Prescaler"):
158  return self._Prescaler.Prescale
159  else:
160  return "NONE"
161 
162 
163 

◆ GetRequireAlgs()

def python.MultipleStreamManager.AugmentedStreamBase.GetRequireAlgs (   self)

Definition at line 86 of file MultipleStreamManager.py.

86  def GetRequireAlgs(self):
87  return self.Stream.RequireAlgs
88 

◆ GetSkimDecisionsWriter()

def python.MultipleStreamManager.AugmentedStreamBase.GetSkimDecisionsWriter (   self)

Skim decisions writer.

Definition at line 117 of file MultipleStreamManager.py.

117  def GetSkimDecisionsWriter(self):
118  from EventBookkeeperTools.BookkeepingInfoWriter import SkimDecisionsWriter
119  sdw=SkimDecisionsWriter(self.Name+"_SkimDecisionsWriter")
120  newContainerName=self.Name+"_"+sdw.SkimDecisionsContainerName
121  sdw.SkimDecisionsContainerName=newContainerName
122  #sdw.OutputLevel=2
123  for a in self.GetRequireAlgs():
124  sdw.addRequireAlg(a)
125  for a in self.GetAcceptAlgs():
126  sdw.addAcceptAlg(a)
127  for a in self.GetVetoAlgs():
128  sdw.addVetoAlg(a)
129  for a in self.GetOtherAlgsToBookkeep():
130  sdw.addOtherAlg(a)
131  return sdw
132 

◆ GetVetoAlgs()

def python.MultipleStreamManager.AugmentedStreamBase.GetVetoAlgs (   self)

Definition at line 99 of file MultipleStreamManager.py.

99  def GetVetoAlgs(self):
100  return self.Stream.VetoAlgs
101 

◆ RemoveAcceptAlgs()

def python.MultipleStreamManager.AugmentedStreamBase.RemoveAcceptAlgs (   self,
  algs 
)

Definition at line 69 of file MultipleStreamManager.py.

69  def RemoveAcceptAlgs(self, algs):
70  self._RemoveValidItemFromList(algs, self.Stream.AcceptAlgs)
71  return
72 

◆ RemoveOtherAlgsToBookkeep()

def python.MultipleStreamManager.AugmentedStreamBase.RemoveOtherAlgsToBookkeep (   self,
  algs 
)

Definition at line 108 of file MultipleStreamManager.py.

108  def RemoveOtherAlgsToBookkeep(self, algs):
109  self._RemoveValidItemFromList(algs, self.OtherAlgs)
110  return
111 

◆ RemoveRequireAlgs()

def python.MultipleStreamManager.AugmentedStreamBase.RemoveRequireAlgs (   self,
  algs 
)

Definition at line 82 of file MultipleStreamManager.py.

82  def RemoveRequireAlgs(self, algs):
83  self._RemoveValidItemFromList(algs, self.Stream.RequireAlgs)
84  return
85 

◆ RemoveVetoAlgs()

def python.MultipleStreamManager.AugmentedStreamBase.RemoveVetoAlgs (   self,
  algs 
)

Definition at line 95 of file MultipleStreamManager.py.

95  def RemoveVetoAlgs(self, algs):
96  self._RemoveValidItemFromList(algs, self.Stream.VetoAlgs)
97  return
98 

◆ SetPrescale()

def python.MultipleStreamManager.AugmentedStreamBase.SetPrescale (   self,
  value 
)

Master prescale.

Definition at line 135 of file MultipleStreamManager.py.

135  def SetPrescale(self,value):
136  #Set a master prescale to given value. Create the Prescaler tool if necessary.
137  if not hasattr(self,"_Prescaler"):
138  from PrimaryDPDMaker.PrimaryDPDMakerConf import PrimaryDPDPrescaler
139  prescalerName="MasterPrescale_"+self.Name
140  self._Prescaler = PrimaryDPDPrescaler(prescalerName)
141  #Deep copies of the Require and Accept algs lists considered by the Master prescaler
142  #Notes:
143  # 1) deep copy is necessary because the Master prescaler itself will be added to the RequireAlgs list\
144  # 2) this implies that SetPrescale must be the *last* algorithm added to the stream
145  self._Prescaler.RequireAlgs = self.Stream.RequireAlgs[:]
146  self._Prescaler.AcceptAlgs = self.Stream.AcceptAlgs[:]
147 
148  from AthenaCommon.AlgSequence import AlgSequence
149  topSequence = AlgSequence()
150  topSequence += self._Prescaler
151  self.AddRequireAlgs(prescalerName)
152 
153  self._Prescaler.Prescale=value
154  return
155 

Member Data Documentation

◆ _Prescaler

python.MultipleStreamManager.AugmentedStreamBase._Prescaler
private

Definition at line 140 of file MultipleStreamManager.py.

◆ Name

python.MultipleStreamManager.AugmentedStreamBase.Name

Definition at line 14 of file MultipleStreamManager.py.

◆ OtherAlgs

python.MultipleStreamManager.AugmentedStreamBase.OtherAlgs

Definition at line 15 of file MultipleStreamManager.py.


The documentation for this class was generated from the following file:
python.AlgSequence.AlgSequence
AlgSequence
Definition: PhysicsAnalysis/D3PDTools/AnaAlgorithm/python/AlgSequence.py:7
PrimaryDPDPrescaler
Definition: PrimaryDPDPrescaler.h:17
python.processes.powheg.ZZ.ZZ.__init__
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
Definition: ZZ.py:18
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
Muon::print
std::string print(const MuPatSegment &)
Definition: MuonTrackSteering.cxx:28