CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
cscdqm::Cache Class Reference

MonitorObject cache - list objects and routines to manage cache. More...

#include <CSCDQM_Cache.h>

Public Member Functions

 Cache ()
 
const bool get (const HistoDef &histo, MonitorObject *&mo)
 Get Monitoring Object on Histogram Definition. More...
 
const bool getCSC (const HistoId &id, const HwId &crateId, const HwId &dmbId, const HwId &addId, MonitorObject *&mo)
 Get CSC MO on Histogram Id and CSC Crate and DMB Ids. More...
 
const bool getDDU (const HistoId &id, const HwId &dduId, MonitorObject *&mo)
 Get DDU MO on Histogram Id and DDU Id. More...
 
const bool getEMU (const HistoId &id, MonitorObject *&mo)
 Get EMU MO on Histogram Id. More...
 
const bool getFED (const HistoId &id, const HwId &fedId, MonitorObject *&mo)
 Get FED MO on Histogram Id and FED Id. More...
 
const bool getPar (const HistoId &id, MonitorObject *&mo)
 Get Parameter MO on Histogram Id. More...
 
const bool isBookedCSC (const HwId &crateId, const HwId &dmbId) const
 Check if CSC was booked on given identifiers. More...
 
const bool isBookedDDU (const HwId &dduId) const
 Check if DDU was booked on given identifier. More...
 
const bool isBookedFED (const HwId &fedId) const
 Check if FED was booked on given identifier. More...
 
const bool nextBookedCSC (unsigned int &n, unsigned int &crateId, unsigned int &dmbId) const
 Iterator to get booked CSC identifiers on enumerator. More...
 
const bool nextBookedDDU (unsigned int &n, unsigned int &dduId) const
 Iterator to get booked DDU identifier on enumerator. More...
 
const bool nextBookedFED (unsigned int &n, unsigned int &fedId) const
 Iterator to get booked FED identifier on enumerator. More...
 
void put (const HistoDef &histo, MonitorObject *mo)
 Put Monitoring Object into cache. More...
 
 ~Cache ()
 

Private Attributes

CSCMapType cscData
 
CSCMapType::const_iterator cscPointer
 
MonitorObjectdata [h::namesSize]
 
DDUMapType dduData
 
DDUMapType::const_iterator dduPointer
 
HwId dduPointerValue
 
FEDMapType fedData
 
FEDMapType::const_iterator fedPointer
 
HwId fedPointerValue
 
LookupMapType lookupData
 

Detailed Description

MonitorObject cache - list objects and routines to manage cache.

Definition at line 99 of file CSCDQM_Cache.h.

Constructor & Destructor Documentation

◆ Cache()

cscdqm::Cache::Cache ( )
inline

Cache Constructor

Initialize EMU and PAR static array with zero's

Initialize FED cached pointers

Initialize DDU and CSC cached pointers

Definition at line 128 of file CSCDQM_Cache.h.

128  {
130  for (unsigned int i = 0; i < h::namesSize; i++)
131  data[i] = nullptr;
132 
134  fedPointer = fedData.end();
135  fedPointerValue = 0;
136 
138  dduPointer = dduData.end();
139  dduPointerValue = 0;
140  cscPointer = cscData.end();
141  }

References cscData, cscPointer, data, dduData, dduPointer, dduPointerValue, fedData, fedPointer, fedPointerValue, and mps_fire::i.

◆ ~Cache()

cscdqm::Cache::~Cache ( )
inline

Destructor

Clear FED MO static arrays

Clear DDU MO static arrays

Definition at line 144 of file CSCDQM_Cache.h.

144  {
146  while (fedData.begin() != fedData.end()) {
147  if (fedData.begin()->second) {
148  delete[] fedData.begin()->second;
149  }
150  fedData.erase(fedData.begin());
151  }
152 
154  while (dduData.begin() != dduData.end()) {
155  if (dduData.begin()->second) {
156  delete[] dduData.begin()->second;
157  }
158  dduData.erase(dduData.begin());
159  }
160  }

References dduData, and fedData.

Member Function Documentation

◆ get()

const bool cscdqm::Cache::get ( const HistoDef histo,
MonitorObject *&  mo 
)

Get Monitoring Object on Histogram Definition.

Native Cache methods

Parameters
histoHistogram definition
moMonitoring Object to return
Returns
true if MO was found in cache and false otherwise

Definition at line 29 of file CSCDQM_Cache.cc.

29  {
30  if (typeid(histo) == EMUHistoDefT) {
31  return getEMU(histo.getId(), mo);
32  } else if (typeid(histo) == FEDHistoDefT) {
33  return getFED(histo.getId(), histo.getFEDId(), mo);
34  } else if (typeid(histo) == DDUHistoDefT) {
35  return getDDU(histo.getId(), histo.getDDUId(), mo);
36  } else if (typeid(histo) == CSCHistoDefT) {
37  return getCSC(histo.getId(), histo.getCrateId(), histo.getDMBId(), histo.getAddId(), mo);
38  } else if (typeid(histo) == ParHistoDefT) {
39  return getPar(histo.getId(), mo);
40  }
41 
42  return false;
43  }

References cscdqm::CSCHistoDefT, cscdqm::DDUHistoDefT, cscdqm::EMUHistoDefT, cscdqm::FEDHistoDefT, getCSC(), getDDU(), getEMU(), getFED(), getPar(), timingPdfMaker::histo, and cscdqm::ParHistoDefT.

Referenced by Options.Options::__getitem__(), betterConfigParser.BetterConfigParser::__updateDict(), submitPVValidationJobs.BetterConfigParser::__updateDict(), rrapi.RRApi::columns(), util.rrapi.RRApi::columns(), rrapi.RRApi::count(), util.rrapi.RRApi::count(), rrapi.RRApi::data(), util.rrapi.RRApi::data(), betterConfigParser.BetterConfigParser::getCompares(), betterConfigParser.BetterConfigParser::getGeneral(), cscdqm::Dispatcher::getHisto(), betterConfigParser.BetterConfigParser::getResultingSection(), submitPVValidationJobs.BetterConfigParser::getResultingSection(), util.rrapi.RRApi::report(), rrapi.RRApi::report(), util.rrapi.RRApi::reports(), rrapi.RRApi::reports(), rrapi.RRApi::tables(), util.rrapi.RRApi::tables(), util.rrapi.RRApi::tags(), rrapi.RRApi::tags(), rrapi.RRApi::templates(), util.rrapi.RRApi::templates(), rrapi.RRApi::workspaces(), and util.rrapi.RRApi::workspaces().

◆ getCSC()

const bool cscdqm::Cache::getCSC ( const HistoId id,
const HwId crateId,
const HwId dmbId,
const HwId addId,
MonitorObject *&  mo 
)

Get CSC MO on Histogram Id and CSC Crate and DMB Ids.

Parameters
idHistogram identifier
crateIdCSC Crate identifier
dmbIdCSC DMB identifier
moMonitoring Object to return
Returns
true if MO was found in cache and false otherwise

If not cached (last CSC) - find CSC

Get Monitor object from multi_index List

Definition at line 119 of file CSCDQM_Cache.cc.

120  {
122  if (cscPointer == cscData.end() || cscPointer->crateId != crateId || cscPointer->dmbId != dmbId) {
123  cscPointer = cscData.find(boost::make_tuple(crateId, dmbId));
124  }
125 
127  if (cscPointer != cscData.end()) {
128  CSCHistoMapType::const_iterator hit = cscPointer->mos.find(boost::make_tuple(id, addId));
129  if (hit != cscPointer->mos.end()) {
130  mo = const_cast<MonitorObject*>(hit->mo);
131  return true;
132  }
133  }
134  return false;
135  }

References cscData, and cscPointer.

Referenced by cscdqm::Dispatcher::commonConstruct(), and get().

◆ getDDU()

const bool cscdqm::Cache::getDDU ( const HistoId id,
const HwId dduId,
MonitorObject *&  mo 
)

Get DDU MO on Histogram Id and DDU Id.

Parameters
idHistogram identifier
dduIdDDU identifier
moMonitoring Object to return
Returns
true if MO was found in cache and false otherwise

If not cached (last DDU) - find DDU

Get MO from static array

Definition at line 92 of file CSCDQM_Cache.cc.

92  {
94  if (dduPointerValue != dduId) {
95  dduPointer = dduData.find(dduId);
96  if (dduPointer == dduData.end()) {
97  dduPointerValue = 0;
98  return false;
99  }
100  dduPointerValue = dduId;
101  }
102 
104  if (dduPointer->second[id]) {
105  mo = dduPointer->second[id];
106  return true;
107  }
108  return false;
109  }

References dduData, dduPointer, dduPointerValue, and triggerObjects_cff::id.

Referenced by cscdqm::Dispatcher::commonConstruct(), and get().

◆ getEMU()

const bool cscdqm::Cache::getEMU ( const HistoId id,
MonitorObject *&  mo 
)

Get EMU MO on Histogram Id.

Parameters
idHistogram identifier
moMonitoring Object to return
Returns
true if MO was found in cache and false otherwise

Definition at line 51 of file CSCDQM_Cache.cc.

51  {
52  if (data[id]) {
53  mo = data[id];
54  return true;
55  }
56  return false;
57  }

References data, and triggerObjects_cff::id.

Referenced by cscdqm::Dispatcher::commonConstruct(), and get().

◆ getFED()

const bool cscdqm::Cache::getFED ( const HistoId id,
const HwId fedId,
MonitorObject *&  mo 
)

Get FED MO on Histogram Id and FED Id.

Parameters
idHistogram identifier
fedIdFED identifier
moMonitoring Object to return
Returns
true if MO was found in cache and false otherwise

If not cached (last FED) - find FED

Get MO from static array

Definition at line 66 of file CSCDQM_Cache.cc.

66  {
68  if (fedPointerValue != fedId) {
69  fedPointer = fedData.find(fedId);
70  if (fedPointer == fedData.end()) {
71  fedPointerValue = 0;
72  return false;
73  }
75  }
76 
78  if (fedPointer->second[id]) {
79  mo = fedPointer->second[id];
80  return true;
81  }
82  return false;
83  }

References fedData, l1tstage2_dqm_sourceclient-live_cfg::fedId, fedPointer, fedPointerValue, and triggerObjects_cff::id.

Referenced by cscdqm::Dispatcher::commonConstruct(), and get().

◆ getPar()

const bool cscdqm::Cache::getPar ( const HistoId id,
MonitorObject *&  mo 
)

Get Parameter MO on Histogram Id.

Parameters
idHistogram identifier
moMonitoring Object to return
Returns
true if MO was found in cache and false otherwise

Definition at line 143 of file CSCDQM_Cache.cc.

143  {
144  if (data[id]) {
145  mo = data[id];
146  return true;
147  }
148  return false;
149  }

References data, and triggerObjects_cff::id.

Referenced by cscdqm::Dispatcher::commonConstruct(), and get().

◆ isBookedCSC()

const bool cscdqm::Cache::isBookedCSC ( const HwId crateId,
const HwId dmbId 
) const

Check if CSC was booked on given identifiers.

Parameters
crateIdCSC Crate Id
dmbIdCSC DMB Id
Returns
true if CSC was booked, false - otherwise

Definition at line 299 of file CSCDQM_Cache.cc.

299  {
300  CSCMapType::const_iterator it = cscData.find(boost::make_tuple(crateId, dmbId));
301  if (it != cscData.end()) {
302  return true;
303  }
304  return false;
305  }

References cscData.

Referenced by cscdqm::Dispatcher::book(), cscdqm::Dispatcher::commonConstruct(), and cscdqm::Dispatcher::getHisto().

◆ isBookedDDU()

const bool cscdqm::Cache::isBookedDDU ( const HwId dduId) const

Check if DDU was booked on given identifier.

Parameters
dduIdDDU Id
Returns
true if DDU was booked, false - otherwise

Definition at line 322 of file CSCDQM_Cache.cc.

322  {
323  DDUMapType::const_iterator iter = dduData.find(dduId);
324  return (iter != dduData.end());
325  }

References dduData.

Referenced by cscdqm::Dispatcher::book(), cscdqm::Dispatcher::commonConstruct(), and cscdqm::Dispatcher::getHisto().

◆ isBookedFED()

const bool cscdqm::Cache::isBookedFED ( const HwId fedId) const

Check if FED was booked on given identifier.

Parameters
fedIdFED Id
Returns
true if FED was booked, false - otherwise

Definition at line 312 of file CSCDQM_Cache.cc.

312  {
313  FEDMapType::const_iterator iter = fedData.find(fedId);
314  return (iter != fedData.end());
315  }

References fedData, and l1tstage2_dqm_sourceclient-live_cfg::fedId.

Referenced by cscdqm::Dispatcher::book(), cscdqm::Dispatcher::commonConstruct(), and cscdqm::Dispatcher::getHisto().

◆ nextBookedCSC()

const bool cscdqm::Cache::nextBookedCSC ( unsigned int &  n,
unsigned int &  crateId,
unsigned int &  dmbId 
) const

Iterator to get booked CSC identifiers on enumerator.

Parameters
niterator (0 and up)
crateIdCSC Crate Id returned
dmbIdCSC DMB Id returned
Returns
true if CSC on n found, false - otherwise

Definition at line 244 of file CSCDQM_Cache.cc.

244  {
245  if (n < cscData.size()) {
246  CSCMapType::const_iterator iter = cscData.begin();
247  for (unsigned int i = n; i > 0; i--)
248  iter++;
249  crateId = iter->crateId;
250  dmbId = iter->dmbId;
251  n++;
252  return true;
253  }
254  return false;
255  }

References cscData, mps_fire::i, and dqmiodumpmetadata::n.

Referenced by cscdqm::Dispatcher::commonConstruct().

◆ nextBookedDDU()

const bool cscdqm::Cache::nextBookedDDU ( unsigned int &  n,
unsigned int &  dduId 
) const

Iterator to get booked DDU identifier on enumerator.

Parameters
niterator (0 and up)
dduIdDDU Id returned
Returns
true if DDU on n found, false - otherwise

Definition at line 281 of file CSCDQM_Cache.cc.

281  {
282  if (n < dduData.size()) {
283  DDUMapType::const_iterator iter = dduData.begin();
284  for (unsigned int i = n; i > 0; i--)
285  iter++;
286  dduId = iter->first;
287  n++;
288  return true;
289  }
290  return false;
291  }

References dduData, mps_fire::i, and dqmiodumpmetadata::n.

◆ nextBookedFED()

const bool cscdqm::Cache::nextBookedFED ( unsigned int &  n,
unsigned int &  fedId 
) const

Iterator to get booked FED identifier on enumerator.

Utility methods

Parameters
niterator (0 and up)
fedIdFED Id returned
Returns
true if FED on n found, false - otherwise

Definition at line 263 of file CSCDQM_Cache.cc.

263  {
264  if (n < fedData.size()) {
265  FEDMapType::const_iterator iter = fedData.begin();
266  for (unsigned int i = n; i > 0; i--)
267  iter++;
268  fedId = iter->first;
269  n++;
270  return true;
271  }
272  return false;
273  }

References fedData, l1tstage2_dqm_sourceclient-live_cfg::fedId, mps_fire::i, and dqmiodumpmetadata::n.

◆ put()

void cscdqm::Cache::put ( const HistoDef histo,
MonitorObject mo 
)

Put Monitoring Object into cache.

Parameters
histoHistogram Definition
moMonitoring Object to put
Returns

EMU MO

FED MO

DDU MO

CSC MO

Parameter MO

Add histo (if mo is not null!) into lookup list

Definition at line 157 of file CSCDQM_Cache.cc.

157  {
158  HistoId id = histo.getId();
159 
161  if (typeid(histo) == EMUHistoDefT) {
162  data[id] = mo;
163  } else
164 
166  if (typeid(histo) == FEDHistoDefT) {
167  HwId fedId = histo.getFEDId();
168 
169  if (fedPointerValue != fedId) {
170  fedPointer = fedData.find(fedId);
171  }
172 
173  if (fedPointer == fedData.end()) {
174  MonitorObject** mos = new MonitorObject*[h::namesSize];
175  for (unsigned int i = 0; i < h::namesSize; i++)
176  mos[i] = nullptr;
177  fedPointer = fedData.insert(fedData.end(), std::make_pair(fedId, mos));
178  }
179 
180  fedPointer->second[id] = mo;
182 
183  } else
184 
186  if (typeid(histo) == DDUHistoDefT) {
187  HwId dduId = histo.getDDUId();
188 
189  if (dduPointerValue != dduId) {
190  dduPointer = dduData.find(dduId);
191  }
192 
193  if (dduPointer == dduData.end()) {
194  MonitorObject** mos = new MonitorObject*[h::namesSize];
195  for (unsigned int i = 0; i < h::namesSize; i++)
196  mos[i] = nullptr;
197  dduPointer = dduData.insert(dduData.end(), std::make_pair(dduId, mos));
198  }
199 
200  dduPointer->second[id] = mo;
201  dduPointerValue = dduId;
202 
203  } else
204 
206  if (typeid(histo) == CSCHistoDefT) {
207  HwId crateId = histo.getCrateId();
208  HwId dmbId = histo.getDMBId();
209  HwId addId = histo.getAddId();
210 
211  CSCHistoKeyType histoKey(id, addId, mo);
212 
213  if (cscPointer == cscData.end() || cscPointer->crateId != crateId || cscPointer->dmbId != dmbId) {
214  cscPointer = cscData.find(boost::make_tuple(crateId, dmbId));
215  }
216 
217  if (cscPointer == cscData.end()) {
218  CSCKeyType cscKey(crateId, dmbId);
219  cscPointer = cscData.insert(cscData.end(), cscKey);
220  }
221  CSCHistoMapType* mos = const_cast<CSCHistoMapType*>(&cscPointer->mos);
222  mos->insert(histoKey);
223 
224  } else
225 
227  if (typeid(histo) == ParHistoDefT) {
228  data[id] = mo;
229  }
230 
232  if (mo) {
233  lookupData.insert(lookupData.end(), LookupKeyType(histo, mo));
234  }
235  }

References cscData, cscdqm::CSCHistoDefT, cscPointer, data, dduData, cscdqm::DDUHistoDefT, dduPointer, dduPointerValue, cscdqm::EMUHistoDefT, fedData, cscdqm::FEDHistoDefT, l1tstage2_dqm_sourceclient-live_cfg::fedId, fedPointer, fedPointerValue, timingPdfMaker::histo, mps_fire::i, triggerObjects_cff::id, lookupData, and cscdqm::ParHistoDefT.

Referenced by cscdqm::Dispatcher::book(), cscdqm::Dispatcher::commonConstruct(), and cscdqm::Dispatcher::getHisto().

Member Data Documentation

◆ cscData

CSCMapType cscdqm::Cache::cscData
private

Chamber MO List

Definition at line 119 of file CSCDQM_Cache.h.

Referenced by Cache(), getCSC(), isBookedCSC(), nextBookedCSC(), and put().

◆ cscPointer

CSCMapType::const_iterator cscdqm::Cache::cscPointer
private

Pointer to the Last Chamber object used (cached)

Definition at line 121 of file CSCDQM_Cache.h.

Referenced by Cache(), getCSC(), and put().

◆ data

MonitorObject* cscdqm::Cache::data[h::namesSize]
private

◆ dduData

DDUMapType cscdqm::Cache::dduData
private

DDU MO List

Definition at line 112 of file CSCDQM_Cache.h.

Referenced by Cache(), getDDU(), isBookedDDU(), nextBookedDDU(), put(), and ~Cache().

◆ dduPointer

DDUMapType::const_iterator cscdqm::Cache::dduPointer
private

Pointer to the Last DDU object used (cached)

Definition at line 114 of file CSCDQM_Cache.h.

Referenced by Cache(), getDDU(), and put().

◆ dduPointerValue

HwId cscdqm::Cache::dduPointerValue
private

Last DDU id used (cached)

Definition at line 116 of file CSCDQM_Cache.h.

Referenced by Cache(), getDDU(), and put().

◆ fedData

FEDMapType cscdqm::Cache::fedData
private

FED MO List

Definition at line 105 of file CSCDQM_Cache.h.

Referenced by Cache(), getFED(), isBookedFED(), nextBookedFED(), put(), and ~Cache().

◆ fedPointer

FEDMapType::const_iterator cscdqm::Cache::fedPointer
private

Pointer to the Last FED object used (cached)

Definition at line 107 of file CSCDQM_Cache.h.

Referenced by Cache(), getFED(), and put().

◆ fedPointerValue

HwId cscdqm::Cache::fedPointerValue
private

Last FED id used (cached)

Definition at line 109 of file CSCDQM_Cache.h.

Referenced by Cache(), getFED(), and put().

◆ lookupData

LookupMapType cscdqm::Cache::lookupData
private

MO Lookup List

Definition at line 124 of file CSCDQM_Cache.h.

Referenced by put().

mps_fire.i
i
Definition: mps_fire.py:428
cscdqm::HistoId
unsigned int HistoId
Definition: CSCDQM_HistoDef.h:35
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
cscdqm::Cache::getFED
const bool getFED(const HistoId &id, const HwId &fedId, MonitorObject *&mo)
Get FED MO on Histogram Id and FED Id.
Definition: CSCDQM_Cache.cc:66
cscdqm::Cache::fedPointerValue
HwId fedPointerValue
Definition: CSCDQM_Cache.h:109
cscdqm::Cache::data
MonitorObject * data[h::namesSize]
Definition: CSCDQM_Cache.h:102
timingPdfMaker.histo
histo
Definition: timingPdfMaker.py:279
cscdqm::CSCHistoMapType
boost::multi_index_container< CSCHistoKeyType, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::composite_key< CSCHistoKeyType, boost::multi_index::member< CSCHistoKeyType, HistoId, &CSCHistoKeyType::id >, boost::multi_index::member< CSCHistoKeyType, HwId, &CSCHistoKeyType::addId > > > > > CSCHistoMapType
Definition: CSCDQM_Cache.h:53
cscdqm::CSCHistoDefT
static const std::type_info & CSCHistoDefT
Definition: CSCDQM_HistoDef.h:453
cscdqm::Cache::dduPointerValue
HwId dduPointerValue
Definition: CSCDQM_Cache.h:116
cscdqm::HwId
unsigned int HwId
Definition: CSCDQM_HistoDef.h:38
cscdqm::DDUHistoDefT
static const std::type_info & DDUHistoDefT
Definition: CSCDQM_HistoDef.h:452
cscdqm::Cache::cscData
CSCMapType cscData
Definition: CSCDQM_Cache.h:119
cscdqm::Cache::getPar
const bool getPar(const HistoId &id, MonitorObject *&mo)
Get Parameter MO on Histogram Id.
Definition: CSCDQM_Cache.cc:143
cscdqm::Cache::lookupData
LookupMapType lookupData
Definition: CSCDQM_Cache.h:124
cscdqm::Cache::dduData
DDUMapType dduData
Definition: CSCDQM_Cache.h:112
cscdqm::Cache::fedPointer
FEDMapType::const_iterator fedPointer
Definition: CSCDQM_Cache.h:107
cscdqm::Cache::getDDU
const bool getDDU(const HistoId &id, const HwId &dduId, MonitorObject *&mo)
Get DDU MO on Histogram Id and DDU Id.
Definition: CSCDQM_Cache.cc:92
cscdqm::Cache::dduPointer
DDUMapType::const_iterator dduPointer
Definition: CSCDQM_Cache.h:114
l1tstage2_dqm_sourceclient-live_cfg.fedId
fedId
Definition: l1tstage2_dqm_sourceclient-live_cfg.py:88
cscdqm::ParHistoDefT
static const std::type_info & ParHistoDefT
Definition: CSCDQM_HistoDef.h:454
cscdqm::FEDHistoDefT
static const std::type_info & FEDHistoDefT
Definition: CSCDQM_HistoDef.h:451
cscdqm::Cache::fedData
FEDMapType fedData
Definition: CSCDQM_Cache.h:105
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:29
cscdqm::Cache::getEMU
const bool getEMU(const HistoId &id, MonitorObject *&mo)
Get EMU MO on Histogram Id.
Definition: CSCDQM_Cache.cc:51
cscdqm::Cache::cscPointer
CSCMapType::const_iterator cscPointer
Definition: CSCDQM_Cache.h:121
cscdqm::EMUHistoDefT
static const std::type_info & EMUHistoDefT
Definition: CSCDQM_HistoDef.h:450
cscdqm::Cache::getCSC
const bool getCSC(const HistoId &id, const HwId &crateId, const HwId &dmbId, const HwId &addId, MonitorObject *&mo)
Get CSC MO on Histogram Id and CSC Crate and DMB Ids.
Definition: CSCDQM_Cache.cc:119
hit
Definition: SiStripHitEffFromCalibTree.cc:88