ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
TileTriggerDefaultCalibTool Class Reference

#include <TileTriggerDefaultCalibTool.h>

Inheritance diagram for TileTriggerDefaultCalibTool:
Collaboration diagram for TileTriggerDefaultCalibTool:

Public Member Functions

 TileTriggerDefaultCalibTool (const std::string &type, const std::string &name, const IInterface *pParent)
 
virtual ~TileTriggerDefaultCalibTool ()
 
virtual StatusCode initialize () override
 
virtual StatusCode initNtuple (int runNumber, int runType, TFile *rootfile) override
 
virtual StatusCode execute () override
 
virtual StatusCode finalizeCalculations () override
 
virtual StatusCode writeNtuple (int runNumber, int runType, TFile *rootfile) override
 
virtual StatusCode finalize () override
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
 
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed. More...
 

Private Types

using Tile = TileCalibUtils
 
typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

std::string m_ntupleID
 
int m_maxNTT
 
unsigned int m_nevpmt
 
const CaloLVL1_IDm_TT_ID
 
const TileHWIDm_tileHWID
 
const TileIDm_tileID
 
const TileCablingServicem_tileCablingService
 
ToolHandle< TileCondToolEmscalem_tileToolEmscale
 main Tile Calibration tool More...
 
SG::ReadHandleKey< TileDQstatusm_dqStatusKey
 
SG::ReadHandleKey< TileRawChannelContainerm_rawChannelContainerKey
 
SG::ReadHandleKey< xAOD::TriggerTowerContainerm_triggerTowerContainerKey
 
ToolHandle< LVL1::IL1CaloTTIdToolsm_l1CaloTTIdTools
 
float(* m_meanTile )[Tile::MAX_DRAWER][Tile::MAX_CHAN]
 
float(* m_rmsTile )[Tile::MAX_DRAWER][Tile::MAX_CHAN]
 
float(* m_meanTileDAC )[Tile::MAX_DRAWER][Tile::MAX_CHAN]
 
float(* m_rmsTileDAC )[Tile::MAX_DRAWER][Tile::MAX_CHAN]
 
int(* m_ietaTile )[Tile::MAX_DRAWER][Tile::MAX_CHAN]
 
int(* m_iphiTile )[Tile::MAX_DRAWER][Tile::MAX_CHAN]
 
int(* m_ipmtTile )[Tile::MAX_DRAWER][Tile::MAX_CHAN]
 
int(* m_nEvtTile )[Tile::MAX_DRAWER][Tile::MAX_CHAN]
 
float(* m_meanL1Calo )[Tile::MAX_DRAWER][Tile::MAX_CHAN]
 
float(* m_rmsL1Calo )[Tile::MAX_DRAWER][Tile::MAX_CHAN]
 
float(* m_meanL1CaloDAC )[Tile::MAX_DRAWER][Tile::MAX_CHAN]
 
float(* m_rmsL1CaloDAC )[Tile::MAX_DRAWER][Tile::MAX_CHAN]
 
int(* m_ietaL1Calo )[Tile::MAX_DRAWER][Tile::MAX_CHAN]
 
int(* m_iphiL1Calo )[Tile::MAX_DRAWER][Tile::MAX_CHAN]
 
int(* m_ipmtL1Calo )[Tile::MAX_DRAWER][Tile::MAX_CHAN]
 
int(* m_nEvtL1Calo )[Tile::MAX_DRAWER][Tile::MAX_CHAN]
 
float(* m_meanTileL1Calo )[Tile::MAX_DRAWER][Tile::MAX_CHAN]
 
float(* m_rmsTileL1Calo )[Tile::MAX_DRAWER][Tile::MAX_CHAN]
 
float m_charge
 
unsigned int m_ipmt
 
unsigned int m_ipmtCount
 
unsigned int m_ipmtOld
 
float m_DACvalue
 
int m_nEvtGlobal
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

Definition at line 33 of file TileTriggerDefaultCalibTool.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

◆ Tile

Definition at line 71 of file TileTriggerDefaultCalibTool.h.

Constructor & Destructor Documentation

◆ TileTriggerDefaultCalibTool()

TileTriggerDefaultCalibTool::TileTriggerDefaultCalibTool ( const std::string &  type,
const std::string &  name,
const IInterface *  pParent 
)

Definition at line 37 of file TileTriggerDefaultCalibTool.cxx.

37  :
38  AthAlgTool(type, name, pParent)
39  , m_TT_ID(nullptr)
40  , m_tileHWID(nullptr)
41  , m_tileID(nullptr)
42  , m_tileCablingService(nullptr)
43  , m_charge(0)
44  , m_ipmt(0)
45  , m_ipmtCount(0)
46  , m_ipmtOld(0)
47  , m_DACvalue(0)
48  , m_nEvtGlobal(0)
49 {
50  declareInterface<ITileCalibTool>( this );
51  declareProperty("MaxNTriggerTowers", m_maxNTT=7200);
52  declareProperty("NtupleID", m_ntupleID="h3000");
53  declareProperty("NumEventPerPMT", m_nevpmt=195); // changed from 200 to 195
54 
63 
72 
75 }

◆ ~TileTriggerDefaultCalibTool()

TileTriggerDefaultCalibTool::~TileTriggerDefaultCalibTool ( )
virtual

Definition at line 77 of file TileTriggerDefaultCalibTool.cxx.

78 {
79  delete[] m_meanTile;
80  delete[] m_rmsTile;
81  delete[] m_meanTileDAC;
82  delete[] m_rmsTileDAC;
83  delete[] m_ietaTile;
84  delete[] m_iphiTile;
85  delete[] m_ipmtTile;
86  delete[] m_nEvtTile;
87  delete[] m_meanL1Calo;
88  delete[] m_rmsL1Calo;
89  delete[] m_meanL1CaloDAC;
90  delete[] m_rmsL1CaloDAC;
91  delete[] m_ietaL1Calo;
92  delete[] m_iphiL1Calo;
93  delete[] m_ipmtL1Calo;
94  delete[] m_nEvtL1Calo;
95  delete[] m_meanTileL1Calo;
96  delete[] m_rmsTileL1Calo;
97 }

Member Function Documentation

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ execute()

StatusCode TileTriggerDefaultCalibTool::execute ( )
overridevirtual

Implements ITileCalibTool.

Definition at line 135 of file TileTriggerDefaultCalibTool.cxx.

136 {
137  ATH_MSG_DEBUG ( "executeTrigger()" );
138 
139  const EventContext& ctx = Gaudi::Hive::currentContext();
140  const TileDQstatus* dqStatus = SG::makeHandle (m_dqStatusKey, ctx).get();
141 
142  // Get TileRawChannelContainer
144  ATH_CHECK( container.isValid() );
145 
146  ATH_MSG_DEBUG ( "second executeTrigger()" );
147  // declare an array of pmt id for the trigger tower loop
148  HWIdentifier chanIds[2][16][64][6];
149  memset(chanIds, 0, sizeof(chanIds));
150 
151  // Get event's ext CIS parameters
152  const uint32_t *cispar = dqStatus->cispar();
153 
154  // Mapping pmt2chan
155  int chan_bar[54] = {4 ,1 ,2 ,3 ,0 ,-1 ,
156  8 ,5 ,6 ,7 ,13,-1 ,
157  10,9 ,12,11,14,-1 ,
158  18,15,16,17,25,-1 ,
159  20,19,22,21,24,-1 ,
160  26,23,28,27,41,-1 ,
161  32,29,34,33,44,-1 ,
162  38,35,40,39,-1,-1 ,
163  36,37,42,47,46,45 };
164 
165  int chan_ext[36] = {4, 5 ,2 ,3 ,16,-1 ,
166  8, 9 ,17,-1,-1,-1 ,
167  6, 7 ,14,15,38,-1 ,
168  10,11,22,23,37,-1 ,
169  20,21,30,35,-1,-1 ,
170  31,32,39,36,41,40 };
171 
172  ATH_MSG_DEBUG ( "cispar[16] " << cispar[16] << ", cispas[17] " << cispar[17] << ", cispar[18] " << cispar[18] );
173  if (cispar[16] == 0x07){
174  if (cispar[18]>5) {
175  ATH_MSG_WARNING ( "Bad CISpar detected, using pmt index and charge from previous event: " << m_ipmt << " " << m_charge );
176  } else {
177  m_charge = cispar[17];
178  m_ipmt = cispar[18];
179  //m_itower = cispar[19];
180  //m_idrawer = cispar[20];
181  }
182  }
183  else if (cispar[16] == 0x107){ // bad CISpar
184  ATH_MSG_WARNING ( "Bad CISpar detected, using pmt index and charge from previous event: " << m_ipmt << " " << m_charge );
185  }
186  else
187  return StatusCode::SUCCESS;
188 
189  ATH_MSG_DEBUG ( "Pattern/ipmt/charge: " << cispar[16] << " " << m_ipmt << " " << m_charge );
190  if (m_charge<1.0e-20) {
191  ATH_MSG_WARNING ( "Bad charge " << m_charge << " - skipping event" );
192  return StatusCode::SUCCESS;
193  }
194 
195  if (m_ipmtOld != m_ipmt){
196  if (m_ipmt < m_ipmtOld) return StatusCode::SUCCESS;
197  m_ipmtCount = 1;
198  m_ipmtOld = m_ipmt;
199  }
200  else
201  m_ipmtCount += 1;
202 
203  if (m_ipmtCount > m_nevpmt) return StatusCode::SUCCESS; //takes into account only the first m_nevpmt events for each pmt to avoid problem with wrong CISpar
204 
206 
207  // Create iterator over RawChannelContainer for Tile
208  TileRawChannelContainer::const_iterator itColl = (*container).begin();
209  TileRawChannelContainer::const_iterator itCollEnd = (*container).end();
211  TileRawChannelUnit::UNIT RChUnit = container->get_unit();
212 
213  // Go through all TileRawChannelCollections
214  for(; itColl != itCollEnd; ++itColl) {
215 
216  //go through all TileRawChannels in collection (loop over all channels)
217  it = (*itColl)->begin();
218  itEnd = (*itColl)->end();
219 
220  for(; it != itEnd; ++it) {
221 
222  // get hardware id to identify adc channel
223  HWIdentifier hwid=(*it)->adc_HWID();
224  //ATH_MSG_DEBUG("HWID1: "<< m_tileHWID->to_string(hwid));
225  int ros = m_tileHWID->ros(hwid); // LBA=1 LBC=2 EBA=3 EBC=4
226  int drawer = m_tileHWID->drawer(hwid); // 0 to 63
227  int chan = m_tileHWID->channel(hwid); // 0 to 47 channel not PMT
228  int gain = m_tileHWID->adc(hwid); // low=0 high=1
229  unsigned int drawerIdx = TileCalibUtils::getDrawerIdx(ros, drawer);
230 
231  // Get the PMT Id, create on the fly a mapping to the trigger tower id
232  // this mapping is to be used below in the loop over all trigger towers
233  Identifier tt_id = (*it)->tt_ID();
234  if (!tt_id.is_valid()) continue;
235  //Identifier pmt_id = (*it)->pmt_ID();
236 
237  int pos_neg_z = m_TT_ID->pos_neg_z(tt_id);
238  int ieta = m_TT_ID->eta(tt_id);
239  int iphi = m_TT_ID->phi(tt_id);
240 
241  if (ros < 3) {
242  if (ieta < 0 || ieta > 8) continue;
243  } else {
244  if (ieta < 9 || ieta > 14) continue;
245  }
246 
247  if((ros==1) || (ros==2)){
248  // (Manually fold constants to avoid cppcheck warning.)
249  if (chan != chan_bar[(ieta*6)/*-1*/ + m_ipmt/*+1*/]) continue; // check if the chan is firing
250  }
251  else if ((ros==3) || (ros==4)){
252  if ((chan != chan_ext[((ieta-9)*6)/*-1*/ + m_ipmt/*+1*/]) || (chan == 0)) continue; // check if the chan is firing
253  }
254  else
255  continue;
256 
257  float amp = (*it)->amplitude();
258  float amp_pC = m_tileToolEmscale->channelCalib(drawerIdx, chan, gain, amp, RChUnit, TileRawChannelUnit::PicoCoulombs);
259  //float amp_GeV = m_tileToolEmscale->channelCalib(drawerIdx, chan, gain, amp, RChUnit, TileRawChannelUnit::MegaElectronVolts) * 0.001;
260  //float pC2GeV = m_tileToolEmscale->channelCalib(drawerIdx, chan, 0, 1.0, TileRawChannelUnit::PicoCoulombs, TileRawChannelUnit::MegaElectronVolts) * 0.001;
261  //log << MSG::DEBUG << "ros " << ros << ", pos_neg_z " << pos_neg_z << ", drawer " << drawer <<" ieta " << ieta << ", chan " << chan << ", amplitude " << amp << endreq;
262 
263  m_meanTile[ros][drawer][chan] += amp_pC;
264  m_rmsTile[ros][drawer][chan] += square(amp_pC);
265  m_meanTileDAC[ros][drawer][chan] += (amp_pC-m_charge);
266  m_rmsTileDAC[ros][drawer][chan] += square(amp_pC-m_charge);
267  m_ietaTile[ros][drawer][chan] = ieta;
268  m_iphiTile[ros][drawer][chan] = iphi;
270  ++m_nEvtTile[ros][drawer][chan];
271 
272  if (pos_neg_z < 0) pos_neg_z = 0;
273  chanIds[pos_neg_z][ieta][iphi][m_ipmt] = hwid;
274  }
275 
276  } // end of loop over raw channels for Tile
277 
278  // loop over all L1Calo trigger channels, calculate the average and RMS
280  ATH_CHECK( triggerTowers.isValid() );
281 
282  int ntt = 0;
283 
284  for (const xAOD::TriggerTower* triggerTower : *triggerTowers) {
285 
286  if(ntt>m_maxNTT) break;
287 
288  if (!triggerTower->sampling()) continue; // is not hadronic
289 
290  double eta = triggerTower->eta();
291  double phi = triggerTower->phi();
292  double tt_ene = 0.; //triggerTower->e();
293 
294  // temporary, compute id out of the tower position
295  int pos_neg_z = m_l1CaloTTIdTools->pos_neg_z(eta);
296  int region = m_l1CaloTTIdTools->regionIndex(eta);
297  int ieta = m_l1CaloTTIdTools->etaIndex(eta);
298  int iphi = m_l1CaloTTIdTools->phiIndex(eta, phi);
299  Identifier tt_id = m_TT_ID->tower_id(pos_neg_z, 1, region, ieta, iphi);
300  //Not used, but could be useful, eg. coolId is used to get proper pedestal value
301  //Identifier id = m_ttTool->identifier(triggerTower->eta(), triggerTower->phi(), 1); //alternative way to get tt_id
302  //unsigned int coolId = m_ttTool->channelID(tt_id).id();
303 
304  // check if it is a Tile tower
305  if (tt_id.is_valid() && m_TT_ID->is_tile(tt_id))
306  ++ntt;
307  else continue;
308 
309  //compute L1Calo energy from ADC:
310  // - take max ADC value
311  // - subtract pedestal (about 32 ADC counts), apply 0.25 conversion factor to GeV
312  const std::vector<uint16_t>& adc = triggerTower->adc();
313  uint16_t max = *(std::max_element(adc.begin(), adc.end()));
314  uint16_t ped = adc.front();
315  tt_ene = (max - ped) * 0.25;
316  if (tt_ene < 0.) tt_ene = 0.;
317 
318  // check boundaries
319  if ((ieta < 0) || (ieta > 14)) continue;
320 
321  if (pos_neg_z < 0) pos_neg_z = 0;
322  HWIdentifier hwid = chanIds[pos_neg_z][ieta][iphi][m_ipmt];
323  int ros = m_tileHWID->ros(hwid); // LBA=1 LBC=2 EBA=3 EBC=4
324  if(ros >= 5 || ros <=0){continue;} // ignoring special channels, like those connected to inner MBTS in EBA/EBC 39-42,55-58
325  int drawer = m_tileHWID->drawer(hwid); // 0 to 63
326  int chan = m_tileHWID->channel(hwid); // 0 to 47 channel not PMT
327  unsigned int drawerIdx = TileCalibUtils::getDrawerIdx(ros, drawer);
328  float pC2GeV = m_tileToolEmscale->channelCalib(drawerIdx, chan, 0, 1.0, TileRawChannelUnit::PicoCoulombs, TileRawChannelUnit::MegaElectronVolts) * 0.001;
329  double tt_ene_pC = tt_ene / pC2GeV;
330 
331  //comparing results from triggerTower->e() and energy computed from ADC (default method)
332  if (triggerTower->e() == 0)
333  ATH_MSG_DEBUG ( "Tower partition " << ros
334  << ", drawer "<< drawer
335  << ", chan: " << chan
336  << ", eta "<< eta
337  << ", phi: " << phi
338  << ", amplitude : " << tt_ene
339  << ", old " << triggerTower->e()
340  << ", ratio old/new " << triggerTower->e() / tt_ene );
341 
342  if ((ros==1) || (ros==2)){
343  if (chan != chan_bar[(ieta*6)-1 + m_ipmt+1]) continue; // check if the chan is firing
344  }
345  else if ((ros==3) || (ros==4)) {
346  if ((chan != chan_ext[((ieta-9)*6)-1 + m_ipmt+1]) || (chan == 0)) continue; // check if the chan is firing
347  }
348  else continue;
349 
350  m_meanL1Calo[ros][drawer][chan] += tt_ene_pC;
351  m_rmsL1Calo[ros][drawer][chan] += square(tt_ene_pC);
352  m_meanL1CaloDAC[ros][drawer][chan] += tt_ene_pC - m_charge;
353  m_rmsL1CaloDAC[ros][drawer][chan] += square(tt_ene_pC - m_charge);
354  m_ietaL1Calo[ros][drawer][chan] = ieta;
355  m_iphiL1Calo[ros][drawer][chan] = iphi;
358 
359  }// end of trigger tower loop for L1Calo
360 
361  ++m_nEvtGlobal; // Number of MaxEvt from Athena
362 
363  for (int ros=0;ros<5;ros++) {
364  for (int drawer=0;drawer<64;drawer++) {
365  for (int chan=0;chan<48;chan++) {
366  // ???
368  }
369  }
370  }
371 
372  return StatusCode::SUCCESS;
373 
374 }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ finalize()

StatusCode TileTriggerDefaultCalibTool::finalize ( )
overridevirtual

Implements ITileCalibTool.

Definition at line 464 of file TileTriggerDefaultCalibTool.cxx.

465 {
466  ATH_MSG_DEBUG ( "finalizeTrigger()" );
467  return StatusCode::SUCCESS;
468 }

◆ finalizeCalculations()

StatusCode TileTriggerDefaultCalibTool::finalizeCalculations ( )
overridevirtual

Implements ITileCalibTool.

Definition at line 376 of file TileTriggerDefaultCalibTool.cxx.

377 {
378  ATH_MSG_INFO ( "finalizeCalculations()" );
379 
380  for (int ros=0;ros<5;ros++) {
381  for (int drawer=0;drawer<64;drawer++) {
382  for (int chan=0;chan<48;chan++) {
383  if (m_nEvtTile[ros][drawer][chan] > 0){
388  }
389 
390  if(m_rmsTile[ros][drawer][chan] <= square(m_meanTile[ros][drawer][chan]))
391  m_rmsTile[ros][drawer][chan] = 0;
392  else
393  m_rmsTile[ros][drawer][chan] = sqrt(m_rmsTile[ros][drawer][chan] - square(m_meanTile[ros][drawer][chan]));
394 
395  if(m_rmsTileDAC[ros][drawer][chan] <= square(m_meanTileDAC[ros][drawer][chan]))
396  m_rmsTileDAC[ros][drawer][chan] = 0;
397  else
399 
400  if (m_nEvtL1Calo[ros][drawer][chan] > 0){
405  }
406 
407  if(m_rmsL1Calo[ros][drawer][chan] <= square(m_meanL1Calo[ros][drawer][chan]))
408  m_rmsL1Calo[ros][drawer][chan] = 0;
409  else
411 
413  m_rmsL1CaloDAC[ros][drawer][chan] = 0;
414  else
416 
420  else
422  }
423  }
424  }
425 
426  return StatusCode::SUCCESS;
427 }

◆ initialize()

StatusCode TileTriggerDefaultCalibTool::initialize ( )
overridevirtual

Implements ITileCalibTool.

Definition at line 99 of file TileTriggerDefaultCalibTool.cxx.

100 {
101  ATH_MSG_INFO ( "initialize()" );
102 
103  // Initialize arrays for results
104  m_charge = 0;
105  m_ipmt = 0;
106  m_ipmtOld = 0;
107  m_ipmtCount = 0;
108 
110  ATH_CHECK( m_triggerTowerContainerKey.initialize() );
111 
112  ATH_CHECK( m_l1CaloTTIdTools.retrieve() );
113  ATH_MSG_DEBUG("L1CaloTTIdTools retrieved");
114 
118 
120 
121  //=== get TileCondToolEmscale
122  CHECK( m_tileToolEmscale.retrieve() );
123 
125 
126  return StatusCode::SUCCESS;
127 }

◆ initNtuple()

StatusCode TileTriggerDefaultCalibTool::initNtuple ( int  runNumber,
int  runType,
TFile *  rootfile 
)
overridevirtual

Implements ITileCalibTool.

Definition at line 129 of file TileTriggerDefaultCalibTool.cxx.

130 {
131  ATH_MSG_INFO ( "initialize(" << runNumber << "," << runType << "," << rootFile << ")" );
132  return StatusCode::SUCCESS;
133 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ interfaceID()

static const InterfaceID& ITileCalibTool::interfaceID ( )
inlinestaticinherited

Definition at line 21 of file ITileCalibTool.h.

21 { return IID_ITileCalibTool; }

◆ msg() [1/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ renounce()

std::enable_if_t<std::is_void_v<std::result_of_t<decltype(&T::renounce)(T)> > && !std::is_base_of_v<SG::VarHandleKeyArray, T> && std::is_base_of_v<Gaudi::DataHandle, T>, void> AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

◆ writeNtuple()

StatusCode TileTriggerDefaultCalibTool::writeNtuple ( int  runNumber,
int  runType,
TFile *  rootfile 
)
overridevirtual

Implements ITileCalibTool.

Definition at line 429 of file TileTriggerDefaultCalibTool.cxx.

430 {
431  ATH_MSG_INFO ( "writeNtuple(" << runNumber << "," << runType << "," << rootFile << ")" );
432 
433  TTree *t = new TTree(m_ntupleID.c_str(), "TileCalib-Ntuple");
435 
436  t->Branch("meanTile",m_meanTile,ind.Format("meanTile%s/F",(const char *)ind));
437  t->Branch("rmsTile",m_rmsTile,ind.Format("rmsTile%s/F",(const char *)ind));
438  t->Branch("meanTileDAC",m_meanTileDAC,ind.Format("meanTileDAC%s/F",(const char *)ind));
439  t->Branch("rmsTileDAC",m_rmsTileDAC,ind.Format("rmsTileDAC%s/F",(const char *)ind));
440  t->Branch("ietaTile",m_ietaTile,ind.Format("ietaTile%s/I",(const char *)ind));
441  t->Branch("iphiTile",m_iphiTile,ind.Format("iphiTile%s/I",(const char *)ind));
442  t->Branch("ipmtTile",m_ipmtTile,ind.Format("ipmtTile%s/I",(const char *)ind));
443  t->Branch("nEvtTile",m_nEvtTile,ind.Format("nEvtTile%s/I",(const char *)ind));
444  t->Branch("meanL1Calo",m_meanL1Calo,ind.Format("meanL1Calo%s/F",(const char *)ind));
445  t->Branch("rmsL1Calo",m_rmsL1Calo,ind.Format("rmsL1Calo%s/F",(const char *)ind));
446  t->Branch("meanL1CaloDAC",m_meanL1CaloDAC,ind.Format("meanL1CaloDAC%s/F",(const char *)ind));
447  t->Branch("rmsL1CaloDAC",m_rmsL1CaloDAC,ind.Format("rmsL1CaloDAC%s/F",(const char *)ind));
448  t->Branch("ietaL1Calo",m_ietaL1Calo,ind.Format("ietaL1Calo%s/I",(const char *)ind));
449  t->Branch("iphiL1Calo",m_iphiL1Calo,ind.Format("iphiL1Calo%s/I",(const char *)ind));
450  t->Branch("ipmtL1Calo",m_ipmtL1Calo,ind.Format("ipmtL1Calo%s/I",(const char *)ind));
451  t->Branch("nEvtL1Calo",m_nEvtL1Calo,ind.Format("nEvtL1Calo%s/I",(const char *)ind));
452  t->Branch("meanTileL1Calo",m_meanTileL1Calo,ind.Format("meanTileL1Calo%s/F",(const char *)ind));
453  t->Branch("rmsTileL1Calo",m_rmsTileL1Calo,ind.Format("rmsTileL1Calo%s/F",(const char *)ind));
454  t->Branch("nEvtGlobal",&m_nEvtGlobal,"nEvtGlobal/I");
455  t->Branch("DACvalue",&m_DACvalue,"DACvalue/F");
456 
457  // Fill with current values (i.e. tree will have only one entry for this whole run)
458  t->Fill();
459  t->Write();
460 
461  return StatusCode::SUCCESS;
462 }

Member Data Documentation

◆ m_charge

float TileTriggerDefaultCalibTool::m_charge
private

Definition at line 97 of file TileTriggerDefaultCalibTool.h.

◆ m_DACvalue

float TileTriggerDefaultCalibTool::m_DACvalue
private

Definition at line 102 of file TileTriggerDefaultCalibTool.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_dqStatusKey

SG::ReadHandleKey<TileDQstatus> TileTriggerDefaultCalibTool::m_dqStatusKey
private
Initial value:
{this,
"TileDQstatus", "TileDQstatus", "TileDQstatus key"}

Definition at line 61 of file TileTriggerDefaultCalibTool.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_ietaL1Calo

int(* TileTriggerDefaultCalibTool::m_ietaL1Calo)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
private

Definition at line 88 of file TileTriggerDefaultCalibTool.h.

◆ m_ietaTile

int(* TileTriggerDefaultCalibTool::m_ietaTile)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
private

Definition at line 78 of file TileTriggerDefaultCalibTool.h.

◆ m_iphiL1Calo

int(* TileTriggerDefaultCalibTool::m_iphiL1Calo)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
private

Definition at line 89 of file TileTriggerDefaultCalibTool.h.

◆ m_iphiTile

int(* TileTriggerDefaultCalibTool::m_iphiTile)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
private

Definition at line 79 of file TileTriggerDefaultCalibTool.h.

◆ m_ipmt

unsigned int TileTriggerDefaultCalibTool::m_ipmt
private

Definition at line 98 of file TileTriggerDefaultCalibTool.h.

◆ m_ipmtCount

unsigned int TileTriggerDefaultCalibTool::m_ipmtCount
private

Definition at line 99 of file TileTriggerDefaultCalibTool.h.

◆ m_ipmtL1Calo

int(* TileTriggerDefaultCalibTool::m_ipmtL1Calo)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
private

Definition at line 90 of file TileTriggerDefaultCalibTool.h.

◆ m_ipmtOld

unsigned int TileTriggerDefaultCalibTool::m_ipmtOld
private

Definition at line 100 of file TileTriggerDefaultCalibTool.h.

◆ m_ipmtTile

int(* TileTriggerDefaultCalibTool::m_ipmtTile)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
private

Definition at line 80 of file TileTriggerDefaultCalibTool.h.

◆ m_l1CaloTTIdTools

ToolHandle<LVL1::IL1CaloTTIdTools > TileTriggerDefaultCalibTool::m_l1CaloTTIdTools
private
Initial value:
{this,
"L1CaloTTIdTools", "LVL1::L1CaloTTIdTools/L1CaloTTIdTools", "L1Calo TTId tools"}

Definition at line 68 of file TileTriggerDefaultCalibTool.h.

◆ m_maxNTT

int TileTriggerDefaultCalibTool::m_maxNTT
private

Definition at line 51 of file TileTriggerDefaultCalibTool.h.

◆ m_meanL1Calo

float(* TileTriggerDefaultCalibTool::m_meanL1Calo)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
private

Definition at line 84 of file TileTriggerDefaultCalibTool.h.

◆ m_meanL1CaloDAC

float(* TileTriggerDefaultCalibTool::m_meanL1CaloDAC)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
private

Definition at line 86 of file TileTriggerDefaultCalibTool.h.

◆ m_meanTile

float(* TileTriggerDefaultCalibTool::m_meanTile)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
private

Definition at line 74 of file TileTriggerDefaultCalibTool.h.

◆ m_meanTileDAC

float(* TileTriggerDefaultCalibTool::m_meanTileDAC)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
private

Definition at line 76 of file TileTriggerDefaultCalibTool.h.

◆ m_meanTileL1Calo

float(* TileTriggerDefaultCalibTool::m_meanTileL1Calo)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
private

Definition at line 93 of file TileTriggerDefaultCalibTool.h.

◆ m_nevpmt

unsigned int TileTriggerDefaultCalibTool::m_nevpmt
private

Definition at line 52 of file TileTriggerDefaultCalibTool.h.

◆ m_nEvtGlobal

int TileTriggerDefaultCalibTool::m_nEvtGlobal
private

Definition at line 105 of file TileTriggerDefaultCalibTool.h.

◆ m_nEvtL1Calo

int(* TileTriggerDefaultCalibTool::m_nEvtL1Calo)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
private

Definition at line 91 of file TileTriggerDefaultCalibTool.h.

◆ m_nEvtTile

int(* TileTriggerDefaultCalibTool::m_nEvtTile)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
private

Definition at line 81 of file TileTriggerDefaultCalibTool.h.

◆ m_ntupleID

std::string TileTriggerDefaultCalibTool::m_ntupleID
private

Definition at line 50 of file TileTriggerDefaultCalibTool.h.

◆ m_rawChannelContainerKey

SG::ReadHandleKey<TileRawChannelContainer> TileTriggerDefaultCalibTool::m_rawChannelContainerKey
private
Initial value:
{this,
"TileRawChannelContainer", "TileRawChannelFit", "Tile raw channel container"}

Definition at line 63 of file TileTriggerDefaultCalibTool.h.

◆ m_rmsL1Calo

float(* TileTriggerDefaultCalibTool::m_rmsL1Calo)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
private

Definition at line 85 of file TileTriggerDefaultCalibTool.h.

◆ m_rmsL1CaloDAC

float(* TileTriggerDefaultCalibTool::m_rmsL1CaloDAC)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
private

Definition at line 87 of file TileTriggerDefaultCalibTool.h.

◆ m_rmsTile

float(* TileTriggerDefaultCalibTool::m_rmsTile)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
private

Definition at line 75 of file TileTriggerDefaultCalibTool.h.

◆ m_rmsTileDAC

float(* TileTriggerDefaultCalibTool::m_rmsTileDAC)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
private

Definition at line 77 of file TileTriggerDefaultCalibTool.h.

◆ m_rmsTileL1Calo

float(* TileTriggerDefaultCalibTool::m_rmsTileL1Calo)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
private

Definition at line 94 of file TileTriggerDefaultCalibTool.h.

◆ m_tileCablingService

const TileCablingService* TileTriggerDefaultCalibTool::m_tileCablingService
private

Definition at line 58 of file TileTriggerDefaultCalibTool.h.

◆ m_tileHWID

const TileHWID* TileTriggerDefaultCalibTool::m_tileHWID
private

Definition at line 56 of file TileTriggerDefaultCalibTool.h.

◆ m_tileID

const TileID* TileTriggerDefaultCalibTool::m_tileID
private

Definition at line 57 of file TileTriggerDefaultCalibTool.h.

◆ m_tileToolEmscale

ToolHandle<TileCondToolEmscale> TileTriggerDefaultCalibTool::m_tileToolEmscale
private
Initial value:
{this,
"TileCondToolEmscale", "TileCondToolEmscale", "Tile em scale tool"}

main Tile Calibration tool

Definition at line 59 of file TileTriggerDefaultCalibTool.h.

◆ m_triggerTowerContainerKey

SG::ReadHandleKey<xAOD::TriggerTowerContainer> TileTriggerDefaultCalibTool::m_triggerTowerContainerKey
private
Initial value:
{this,
"TriggerTowerContainer", "xAODTriggerTowers", "Trigger Tower container"}

Definition at line 65 of file TileTriggerDefaultCalibTool.h.

◆ m_TT_ID

const CaloLVL1_ID* TileTriggerDefaultCalibTool::m_TT_ID
private

Definition at line 55 of file TileTriggerDefaultCalibTool.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
TileTriggerDefaultCalibTool::m_tileToolEmscale
ToolHandle< TileCondToolEmscale > m_tileToolEmscale
main Tile Calibration tool
Definition: TileTriggerDefaultCalibTool.h:59
TileTriggerDefaultCalibTool::m_TT_ID
const CaloLVL1_ID * m_TT_ID
Definition: TileTriggerDefaultCalibTool.h:55
TileTriggerDefaultCalibTool::m_meanTileL1Calo
float(* m_meanTileL1Calo)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
Definition: TileTriggerDefaultCalibTool.h:93
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
TileTriggerDefaultCalibTool::m_ipmtOld
unsigned int m_ipmtOld
Definition: TileTriggerDefaultCalibTool.h:100
TileTriggerDefaultCalibTool::m_tileHWID
const TileHWID * m_tileHWID
Definition: TileTriggerDefaultCalibTool.h:56
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
max
#define max(a, b)
Definition: cfImp.cxx:41
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
TileCablingService::getInstance
static const TileCablingService * getInstance()
get pointer to service instance
Definition: TileCablingService.cxx:24
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
TileTriggerDefaultCalibTool::m_ietaTile
int(* m_ietaTile)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
Definition: TileTriggerDefaultCalibTool.h:78
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
StateLessPT_NewConfig.Format
Format
Definition: StateLessPT_NewConfig.py:146
TileTriggerDefaultCalibTool::m_ipmtL1Calo
int(* m_ipmtL1Calo)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
Definition: TileTriggerDefaultCalibTool.h:90
CaloCondBlobAlgs_fillNoiseFromASCII.gain
gain
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:110
skel.it
it
Definition: skel.GENtoEVGEN.py:423
TileTriggerDefaultCalibTool::m_ipmtTile
int(* m_ipmtTile)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
Definition: TileTriggerDefaultCalibTool.h:80
TileTriggerDefaultCalibTool::m_ietaL1Calo
int(* m_ietaL1Calo)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
Definition: TileTriggerDefaultCalibTool.h:88
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
TileTriggerDefaultCalibTool::m_rawChannelContainerKey
SG::ReadHandleKey< TileRawChannelContainer > m_rawChannelContainerKey
Definition: TileTriggerDefaultCalibTool.h:63
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
TileRawChannelUnit::PicoCoulombs
@ PicoCoulombs
Definition: TileRawChannelUnit.h:18
HWIdentifier
Definition: HWIdentifier.h:13
TileTriggerDefaultCalibTool::m_tileCablingService
const TileCablingService * m_tileCablingService
Definition: TileTriggerDefaultCalibTool.h:58
Identifier::is_valid
bool is_valid() const
Check if id is in a valid state.
TileTriggerDefaultCalibTool::m_tileID
const TileID * m_tileID
Definition: TileTriggerDefaultCalibTool.h:57
Example_ReadSampleNoise.drawer
drawer
Definition: Example_ReadSampleNoise.py:39
TileTriggerDefaultCalibTool::m_dqStatusKey
SG::ReadHandleKey< TileDQstatus > m_dqStatusKey
Definition: TileTriggerDefaultCalibTool.h:61
TileHWID::channel
int channel(const HWIdentifier &id) const
extract channel field from HW identifier
Definition: TileHWID.h:189
AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
TileCalibUtils::MAX_DRAWER
static const unsigned int MAX_DRAWER
Number of drawers in ROS 1-4.
Definition: TileCalibUtils.h:139
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
TileHWID::ros
int ros(const HWIdentifier &id) const
extract ros field from HW identifier
Definition: TileHWID.h:167
SG::makeHandle
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
Definition: ReadCondHandle.h:269
CaloLVL1_ID::phi
int phi(const Identifier id) const
return phi according to :
Definition: CaloLVL1_ID.h:659
TileDQstatus
Class that holds Data Quality fragment information and provides functions to extract the data quality...
Definition: TileDQstatus.h:49
TileHWID::adc
int adc(const HWIdentifier &id) const
extract adc field from HW identifier
Definition: TileHWID.h:193
TileTriggerDefaultCalibTool::m_ipmtCount
unsigned int m_ipmtCount
Definition: TileTriggerDefaultCalibTool.h:99
TileTriggerDefaultCalibTool::m_iphiTile
int(* m_iphiTile)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
Definition: TileTriggerDefaultCalibTool.h:79
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
TileTriggerDefaultCalibTool::m_triggerTowerContainerKey
SG::ReadHandleKey< xAOD::TriggerTowerContainer > m_triggerTowerContainerKey
Definition: TileTriggerDefaultCalibTool.h:65
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
ReadCellNoiseFromCool.chan
chan
Definition: ReadCellNoiseFromCool.py:52
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
TileTriggerDefaultCalibTool::m_rmsL1CaloDAC
float(* m_rmsL1CaloDAC)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
Definition: TileTriggerDefaultCalibTool.h:87
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
TileTriggerDefaultCalibTool::m_l1CaloTTIdTools
ToolHandle< LVL1::IL1CaloTTIdTools > m_l1CaloTTIdTools
Definition: TileTriggerDefaultCalibTool.h:68
TileTriggerDefaultCalibTool::m_nEvtL1Calo
int(* m_nEvtL1Calo)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
Definition: TileTriggerDefaultCalibTool.h:91
xAOD::TriggerTower_v2
Description of TriggerTower_v2.
Definition: TriggerTower_v2.h:49
TileRawChannelUnit::MegaElectronVolts
@ MegaElectronVolts
Definition: TileRawChannelUnit.h:20
TileTriggerDefaultCalibTool::m_ipmt
unsigned int m_ipmt
Definition: TileTriggerDefaultCalibTool.h:98
TileTriggerDefaultCalibTool::m_meanL1CaloDAC
float(* m_meanL1CaloDAC)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
Definition: TileTriggerDefaultCalibTool.h:86
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
makeComparison.rootFile
rootFile
Definition: makeComparison.py:27
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
TileTriggerDefaultCalibTool::m_charge
float m_charge
Definition: TileTriggerDefaultCalibTool.h:97
IdentifiableContainerMT::const_iterator
Definition: IdentifiableContainerMT.h:82
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
TileCalibUtils::MAX_ROS
static const unsigned int MAX_ROS
Number of ROSs
Definition: TileCalibUtils.h:138
TileTriggerDefaultCalibTool::m_maxNTT
int m_maxNTT
Definition: TileTriggerDefaultCalibTool.h:51
maskDeadModules.ros
ros
Definition: maskDeadModules.py:35
TileRawChannelUnit::UNIT
UNIT
Definition: TileRawChannelUnit.h:16
python.OnlineISConfiguration.runType
def runType
Definition: OnlineISConfiguration.py:112
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
TileTriggerDefaultCalibTool::m_meanTileDAC
float(* m_meanTileDAC)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
Definition: TileTriggerDefaultCalibTool.h:76
TileTriggerDefaultCalibTool::m_meanTile
float(* m_meanTile)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
Definition: TileTriggerDefaultCalibTool.h:74
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
CaloLVL1_ID::eta
int eta(const Identifier id) const
return eta according to :
Definition: CaloLVL1_ID.h:653
TileTriggerDefaultCalibTool::m_nevpmt
unsigned int m_nevpmt
Definition: TileTriggerDefaultCalibTool.h:52
TileDQstatus::cispar
const uint32_t * cispar() const
CIS parameters.
Definition: TileDQstatus.h:152
Example_ReadSampleNoise.ped
ped
Definition: Example_ReadSampleNoise.py:45
CaloLVL1_ID::pos_neg_z
int pos_neg_z(const Identifier id) const
return pos_neg_z according to :
Definition: CaloLVL1_ID.h:635
DeMoAtlasDataLoss.runNumber
string runNumber
Definition: DeMoAtlasDataLoss.py:64
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
a
TList * a
Definition: liststreamerinfos.cxx:10
h
TileHWID::drawer
int drawer(const HWIdentifier &id) const
extract drawer field from HW identifier
Definition: TileHWID.h:171
ReadFloatFromCool.adc
adc
Definition: ReadFloatFromCool.py:48
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
TileTriggerDefaultCalibTool::m_rmsTileL1Calo
float(* m_rmsTileL1Calo)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
Definition: TileTriggerDefaultCalibTool.h:94
TileTriggerDefaultCalibTool::m_rmsTile
float(* m_rmsTile)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
Definition: TileTriggerDefaultCalibTool.h:75
TileTriggerDefaultCalibTool::m_nEvtTile
int(* m_nEvtTile)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
Definition: TileTriggerDefaultCalibTool.h:81
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
TileCalibUtils::getDrawerIdx
static unsigned int getDrawerIdx(unsigned int ros, unsigned int drawer)
Returns a drawer hash.
Definition: TileCalibUtils.cxx:60
TileTriggerDefaultCalibTool::m_DACvalue
float m_DACvalue
Definition: TileTriggerDefaultCalibTool.h:102
TileCalibUtils::MAX_CHAN
static const unsigned int MAX_CHAN
Number of channels in drawer.
Definition: TileCalibUtils.h:141
TileTriggerDefaultCalibTool::m_ntupleID
std::string m_ntupleID
Definition: TileTriggerDefaultCalibTool.h:50
TileTriggerDefaultCalibTool::m_iphiL1Calo
int(* m_iphiL1Calo)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
Definition: TileTriggerDefaultCalibTool.h:89
CaloLVL1_ID::tower_id
Identifier tower_id(int pos_neg_z, int sampling, int region, int eta, int phi) const
build a tower identifier
Definition: CaloLVL1_ID.h:429
TileTriggerDefaultCalibTool::m_rmsL1Calo
float(* m_rmsL1Calo)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
Definition: TileTriggerDefaultCalibTool.h:85
CaloLVL1_ID::is_tile
bool is_tile(const Identifier id) const
Test wether given tower or layer is part of the Tile Calorimeter.
Definition: CaloLVL1_ID.h:672
TileTriggerDefaultCalibTool::m_meanL1Calo
float(* m_meanL1Calo)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
Definition: TileTriggerDefaultCalibTool.h:84
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
TileTriggerDefaultCalibTool::m_nEvtGlobal
int m_nEvtGlobal
Definition: TileTriggerDefaultCalibTool.h:105
checkFileSG.ind
list ind
Definition: checkFileSG.py:118
TileTriggerDefaultCalibTool::m_rmsTileDAC
float(* m_rmsTileDAC)[Tile::MAX_DRAWER][Tile::MAX_CHAN]
Definition: TileTriggerDefaultCalibTool.h:77
fitman.k
k
Definition: fitman.py:528