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

Public Member Functions

def __init__ (self, chainDict)
 
def prepareSequence (self)
 
def assembleChainImpl (self, flags)
 
def getFastCalo (self, flags, is_probe_leg=False)
 
def getFastPhoton (self, flags, is_probe_leg=False)
 
def getPrecisionCaloPhoton (self, flags, is_probe_leg=False)
 
def getHipTRT (self, flags, is_probe_leg=False)
 
def getPrecisionPhoton (self, flags, is_probe_leg=False)
 
def getPhotonCaloIso (self, flags, is_probe_leg=False)
 

Public Attributes

 chainDict
 

Detailed Description

Definition at line 47 of file PhotonChainConfiguration.py.

Constructor & Destructor Documentation

◆ __init__()

def PhotonChainConfiguration.PhotonChainConfiguration.__init__ (   self,
  chainDict 
)

Definition at line 49 of file PhotonChainConfiguration.py.

49  def __init__(self, chainDict):
50  ChainConfigurationBase.__init__(self,chainDict)
51  self.chainDict = chainDict
52 

Member Function Documentation

◆ assembleChainImpl()

def PhotonChainConfiguration.PhotonChainConfiguration.assembleChainImpl (   self,
  flags 
)

Definition at line 105 of file PhotonChainConfiguration.py.

105  def assembleChainImpl(self, flags):
106  chainSteps = []
107  log.debug("Assembling chain for %s", self.chainName)
108 
109  # This will contain the name of the steps we will want to configure
110  steps = self.prepareSequence()
111 
112  # This is it, lets print the list of stepNames
113  log.debug("stepNames: %s", steps)
114  for step in steps:
115  log.debug('Adding photon trigger step %s', step)
116  is_probe_leg = self.chainPart['tnpInfo']=='probe'
117  chainstep = getattr(self, step)(flags, is_probe_leg=is_probe_leg)
118  chainSteps+=[chainstep]
119 
120  myChain = self.buildChain(chainSteps)
121 
122  return myChain
123 

◆ getFastCalo()

def PhotonChainConfiguration.PhotonChainConfiguration.getFastCalo (   self,
  flags,
  is_probe_leg = False 
)

Definition at line 127 of file PhotonChainConfiguration.py.

127  def getFastCalo(self, flags, is_probe_leg=False):
128  stepName = "PhotonFastCalo"
129 
130  return self.getStep(flags, stepName,[fastCaloSequenceGenCfg], name='Photon', is_probe_leg=is_probe_leg)
131 

◆ getFastPhoton()

def PhotonChainConfiguration.PhotonChainConfiguration.getFastPhoton (   self,
  flags,
  is_probe_leg = False 
)

Definition at line 132 of file PhotonChainConfiguration.py.

132  def getFastPhoton(self, flags, is_probe_leg=False):
133  stepName = "FastPhoton"
134  return self.getStep(flags, stepName,[fastPhotonSequenceGenCfg], is_probe_leg=is_probe_leg)
135 

◆ getHipTRT()

def PhotonChainConfiguration.PhotonChainConfiguration.getHipTRT (   self,
  flags,
  is_probe_leg = False 
)

Definition at line 145 of file PhotonChainConfiguration.py.

145  def getHipTRT(self, flags, is_probe_leg=False):
146  stepName = "hipTRT"
147  return self.getStep(flags, stepName,[TRTHitGeneratorSequenceGenCfg], is_probe_leg=is_probe_leg)
148 

◆ getPhotonCaloIso()

def PhotonChainConfiguration.PhotonChainConfiguration.getPhotonCaloIso (   self,
  flags,
  is_probe_leg = False 
)

Definition at line 159 of file PhotonChainConfiguration.py.

159  def getPhotonCaloIso(self, flags, is_probe_leg=False):
160 
161  stepName = "precision_photon_CaloIso"
162  comboTools = []
163  do_ion = 'ion' in self.chainPart['extra']
164 
165  if do_ion:
166  stepName += '_ion'
167 
168  if "dPhi15" in self.chainDict["topo"]:
169  stepName+='_dPhi15'
170  if "m80" in self.chainDict["topo"]:
171  stepName+= '_m80'
172  comboTools.append(diphotonDPhiMassHypoToolFromDict)
173  else:
174  comboTools.append(diphotonDPhiHypoToolFromDict)
175 
176  return self.getStep(flags, stepName,sequenceCfgArray=[precisionPhotonCaloIsoSequenceGenCfg], name='Photon', comboTools=comboTools, ion=do_ion, is_probe_leg=is_probe_leg)

◆ getPrecisionCaloPhoton()

def PhotonChainConfiguration.PhotonChainConfiguration.getPrecisionCaloPhoton (   self,
  flags,
  is_probe_leg = False 
)

Definition at line 136 of file PhotonChainConfiguration.py.

136  def getPrecisionCaloPhoton(self, flags, is_probe_leg=False):
137  do_ion = 'ion' in self.chainPart['extra']
138  if do_ion:
139  stepName = "PhotonPrecisionHICalo"
140  else:
141  stepName = "PhotonPrecisionCalo"
142 
143  return self.getStep(flags, stepName,[precisionCaloSequenceGenCfg], ion=do_ion, is_probe_leg=is_probe_leg)
144 

◆ getPrecisionPhoton()

def PhotonChainConfiguration.PhotonChainConfiguration.getPrecisionPhoton (   self,
  flags,
  is_probe_leg = False 
)

Definition at line 149 of file PhotonChainConfiguration.py.

149  def getPrecisionPhoton(self, flags, is_probe_leg=False):
150 
151  stepName = "precision_photon"
152  do_ion = 'ion' in self.chainPart['extra'] == 'ion'
153 
154  if do_ion:
155  stepName += '_ion'
156 
157  return self.getStep(flags, stepName,sequenceCfgArray=[precisionPhotonSequenceGenCfg], ion=do_ion, is_probe_leg=is_probe_leg)
158 

◆ prepareSequence()

def PhotonChainConfiguration.PhotonChainConfiguration.prepareSequence (   self)

Definition at line 56 of file PhotonChainConfiguration.py.

56  def prepareSequence(self):
57  # This function prepares the list of step names from which assembleChainImpl would make the chain assembly from.
58 
59  # --------------------
60  # define here the names of the steps and obtain the chainStep configuration
61  # --------------------
62 
63  stepNames = [] # This will contain the name of the steps we will want to configure
64  # Put first fast Calo. Two possible variants now:
65  # Step 1
66  stepNames += ['getFastCalo']
67 
68  # OK now, unless its a HipTRT chain we need to do fastPhoton here:
69  if self.chainPart['extra'] == 'hiptrt':
70  stepNames += ['getHipTRT']
71  # for hiptrt chains, there is noprecision Calo nor precision Photon so returning sequence here:
72  return stepNames
73 
74  # Now we do fast Photon
75  # Step 2
76  stepNames += ['getFastPhoton']
77 
78 
79  # After we need to place precisionCalo. There is no chain (except hiptrt) that does not require precision calo. Otherwise please insert logic here:
80  # Step 3
81  stepNames += ['getPrecisionCaloPhoton']
82 
83  # And we will do precisionPhoton UNLESS its an etcut chain
84  if 'etcut' in self.chainPart['IDinfo']:
85  # if its an etcut chain we return the sequence up to here
86  return stepNames
87 
88 
89  #Now its the turn of precision Photon. Here we apply cutbased identification
90  #Step 4
91  stepNames += ['getPrecisionPhoton']
92 
93  # Finally we need to run isolaton *IF* its an isolated chain
94  # Step 5
95  if 'noiso' in self.chainPart['isoInfo'] or 'icaloloose' in self.chainPart['isoInfo'] or 'icalomedium' in self.chainPart['isoInfo'] or 'icalotight' in self.chainPart['isoInfo']:
96  stepNames += ['getPhotonCaloIso']
97 
98  return stepNames
99 
100 
101 

Member Data Documentation

◆ chainDict

PhotonChainConfiguration.PhotonChainConfiguration.chainDict

Definition at line 51 of file PhotonChainConfiguration.py.


The documentation for this class was generated from the following file:
python.processes.powheg.ZZ.ZZ.__init__
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
Definition: ZZ.py:18