CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
DTConfigDBProducer Class Reference
Inheritance diagram for DTConfigDBProducer:
edm::ESProducer edm::ESProxyFactoryProducer edm::eventsetup::DataProxyProvider

Public Member Functions

 DTConfigDBProducer (const edm::ParameterSet &)
 Constructor. More...
 
std::unique_ptr< DTConfigManagerproduce (const DTConfigManagerRcd &)
 ES produce method. More...
 
 ~DTConfigDBProducer () override
 Destructor. More...
 
- Public Member Functions inherited from edm::ESProducer
 ESProducer ()
 
 ESProducer (const ESProducer &)=delete
 
ESProxyIndex const * getTokenIndices (unsigned int iIndex) const
 
ESProducer const & operator= (const ESProducer &)=delete
 
template<typename Record >
void updateFromMayConsumes (unsigned int iIndex, const Record &iRecord)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &) final
 
 ~ESProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::ESProxyFactoryProducer
 ESProxyFactoryProducer ()
 
 ESProxyFactoryProducer (const ESProxyFactoryProducer &)=delete
 
const ESProxyFactoryProduceroperator= (const ESProxyFactoryProducer &)=delete
 
 ~ESProxyFactoryProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::eventsetup::DataProxyProvider
void createKeyedProxies (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
 DataProxyProvider ()
 
 DataProxyProvider (const DataProxyProvider &)=delete
 
const ComponentDescriptiondescription () const
 
void fillRecordsNotAllowingConcurrentIOVs (std::set< EventSetupRecordKey > &recordsNotAllowingConcurrentIOVs) const
 
virtual void initConcurrentIOVs (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
bool isUsingRecord (const EventSetupRecordKey &key) const
 
KeyedProxieskeyedProxies (const EventSetupRecordKey &iRecordKey, unsigned int iovIndex=0)
 
const DataProxyProvideroperator= (const DataProxyProvider &)=delete
 
void setAppendToDataLabel (const edm::ParameterSet &)
 
void setDescription (const ComponentDescription &iDescription)
 
std::set< EventSetupRecordKeyusingRecords () const
 
virtual ~DataProxyProvider () noexcept(false)
 

Private Member Functions

DTConfigPedestals buildTrivialPedestals ()
 SV for debugging purpose ONLY. More...
 
int checkDTCCBConfig (DTConfigManager &dttpgConfig)
 110629 SV function for CCB configuration check More...
 
void configFromCfg (DTConfigManager &dttpgConfig)
 SV for debugging purpose ONLY. More...
 
std::string mapEntryName (const DTChamberId &chambid) const
 
void readDBPedestalsConfig (const DTConfigManagerRcd &iRecord, DTConfigManager &dttpgConfig)
 Read DTTPG pedestal configuration. More...
 
int readDTCCBConfig (const DTConfigManagerRcd &iRecord, DTConfigManager &dttpgConfig)
 Read CCB string configuration. More...
 

Private Attributes

DTKeyedConfigCache cfgCache
 
bool cfgConfig
 
bool flagDBBti
 
bool flagDBLUTS
 
bool flagDBTraco
 
bool flagDBTSM
 
bool flagDBTSS
 
edm::ESGetToken< DTCCBConfig, DTCCBConfigRcdm_ccb_confToken
 
int m_debugBti
 
bool m_debugDB
 
bool m_debugLUTs
 
bool m_debugPed
 
bool m_debugSC
 
int m_debugTraco
 
bool m_debugTSP
 
bool m_debugTST
 
bool m_debugTU
 
edm::ESGetToken< DTTPGParameters, DTTPGParametersRcdm_dttpgParamsToken
 
edm::ESGetToken< cond::persistency::KeyList, DTKeyedConfigListRcdm_keyListToken
 
edm::ParameterSet m_ps
 
edm::ESGetToken< DTT0, DTT0Rcdm_t0iToken
 
bool m_UseT0
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::eventsetup::DataProxyProvider
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Types inherited from edm::ESProxyFactoryProducer
using EventSetupRecordKey = eventsetup::EventSetupRecordKey
 
- Protected Types inherited from edm::eventsetup::DataProxyProvider
using KeyedProxiesVector = std::vector< std::pair< DataKey, std::shared_ptr< DataProxy > >>
 
- Protected Member Functions inherited from edm::ESProducer
template<typename T >
auto setWhatProduced (T *iThis, const char *iLabel)
 
template<typename T >
auto setWhatProduced (T *iThis, const es::Label &iLabel={})
 
template<typename T >
auto setWhatProduced (T *iThis, const std::string &iLabel)
 
template<typename T , typename TDecorator >
auto setWhatProduced (T *iThis, const TDecorator &iDec, const es::Label &iLabel={})
 
template<typename T , typename TReturn , typename TRecord >
auto setWhatProduced (T *iThis, TReturn(T ::*iMethod)(const TRecord &), const es::Label &iLabel={})
 
template<typename T , typename TReturn , typename TRecord , typename TArg >
ESConsumesCollectorT< TRecord > setWhatProduced (T *iThis, TReturn(T ::*iMethod)(const TRecord &), const TArg &iDec, const es::Label &iLabel={})
 
- Protected Member Functions inherited from edm::ESProxyFactoryProducer
template<class TFactory >
void registerFactory (std::unique_ptr< TFactory > iFactory, const std::string &iLabel=std::string())
 
virtual void registerFactoryWithKey (const EventSetupRecordKey &iRecord, std::unique_ptr< eventsetup::ProxyFactoryBase > iFactory, const std::string &iLabel=std::string())
 
KeyedProxiesVector registerProxies (const EventSetupRecordKey &, unsigned int iovIndex) override
 
- Protected Member Functions inherited from edm::eventsetup::DataProxyProvider
template<class T >
void usingRecord ()
 
void usingRecordWithKey (const EventSetupRecordKey &key)
 

Detailed Description

L1TriggerConfig/DTTPGConfigProducers/interface/DTConfigDBProducer.h

Description: A Producer for the DT config, data retrieved from DB

Implementation: <Notes on="" implementation>="">

Definition at line 61 of file DTConfigDBProducer.cc.

Constructor & Destructor Documentation

◆ DTConfigDBProducer()

DTConfigDBProducer::DTConfigDBProducer ( const edm::ParameterSet p)

Constructor.

Definition at line 123 of file DTConfigDBProducer.cc.

123  {
124  // tell the framework what record is being produced
126 
127  cfgConfig = p.getParameter<bool>("cfgConfig");
128 
129  // get and store parameter set and config manager pointer
130  m_ps = p;
131 
132  // debug flags
133  m_debugDB = p.getParameter<bool>("debugDB");
134  m_debugBti = p.getParameter<int>("debugBti");
135  m_debugTraco = p.getParameter<int>("debugTraco");
136  m_debugTSP = p.getParameter<bool>("debugTSP");
137  m_debugTST = p.getParameter<bool>("debugTST");
138  m_debugTU = p.getParameter<bool>("debugTU");
139  m_debugSC = p.getParameter<bool>("debugSC");
140  m_debugLUTs = p.getParameter<bool>("debugLUTs");
141  m_debugPed = p.getParameter<bool>("debugPed");
142 
143  m_UseT0 = p.getParameter<bool>("UseT0"); // CB check for a better way to do it
144 
145  if (not cfgConfig) {
146  cc.setConsumes(m_dttpgParamsToken).setConsumes(m_ccb_confToken).setConsumes(m_keyListToken);
147  if (m_UseT0) {
148  cc.setConsumes(m_t0iToken);
149  }
150  }
151 }

References cfgConfig, m_ccb_confToken, m_debugBti, m_debugDB, m_debugLUTs, m_debugPed, m_debugSC, m_debugTraco, m_debugTSP, m_debugTST, m_debugTU, m_dttpgParamsToken, m_keyListToken, m_ps, m_t0iToken, m_UseT0, AlCaHLTBitMon_ParallelJobs::p, produce(), and edm::ESProducer::setWhatProduced().

◆ ~DTConfigDBProducer()

DTConfigDBProducer::~DTConfigDBProducer ( )
override

Destructor.

Definition at line 153 of file DTConfigDBProducer.cc.

153 {}

Member Function Documentation

◆ buildTrivialPedestals()

DTConfigPedestals DTConfigDBProducer::buildTrivialPedestals ( )
private

SV for debugging purpose ONLY.

Definition at line 792 of file DTConfigDBProducer.cc.

792  {
793  DTTPGParameters *m_tpgParams = new DTTPGParameters();
794 
795  int counts = m_ps.getParameter<int>("bxOffset");
796  float fine = m_ps.getParameter<double>("finePhase");
797 
798  if (m_debugPed)
799  cout << "DTConfigTrivialProducer::buildPedestals()" << endl;
800 
801  // DTTPGParameters tpgParams;
802  for (int iwh = -2; iwh <= 2; ++iwh) {
803  for (int ist = 1; ist <= 4; ++ist) {
804  for (int ise = 1; ise <= 14; ++ise) {
805  if (ise > 12 && ist != 4)
806  continue;
807 
808  DTChamberId chId(iwh, ist, ise);
809  m_tpgParams->set(chId, counts, fine, DTTimeUnits::ns);
810  }
811  }
812  }
813 
814  DTConfigPedestals tpgPedestals;
815  tpgPedestals.setUseT0(false);
816  tpgPedestals.setES(m_tpgParams);
817 
818  return tpgPedestals;
819 }

References dqmiodumpmetadata::counts, gather_cfg::cout, L1DTConfigFromDB_cfi::DTTPGParameters, edm::ParameterSet::getParameter(), m_debugPed, m_ps, DTTimeUnits::ns, DTTPGParameters::set(), DTConfigPedestals::setES(), and DTConfigPedestals::setUseT0().

Referenced by configFromCfg().

◆ checkDTCCBConfig()

int DTConfigDBProducer::checkDTCCBConfig ( DTConfigManager dttpgConfig)
private

110629 SV function for CCB configuration check

Definition at line 225 of file DTConfigDBProducer.cc.

225  {
226  // 110627 SV test if configuration from CCB has correct number of chips,
227  // return error code:
228  // check_cfg_code = 1 : NO correct BTI number
229  // check_cfg_code = 2 : NO correct TRACO number
230  // check_cfg_code = 3 : NO correct valid TSS number
231  // check_cfg_code = 4 : NO correct valid TSM number
232 
233  int check_cfg_code = 0;
234 
235  // do not take chambers from MuonGeometryRecord to avoid geometry dependency
236  for (int iwh = -2; iwh <= 2; iwh++) {
237  for (int ise = 1; ise <= 12; ise++) {
238  for (int ist = 1; ist <= 4; ist++) {
239  check_cfg_code = 0;
240  DTChamberId chid(iwh, ist, ise);
241 
242  // retrive number of configurated chip
243  int nbti = dttpgConfig.getDTConfigBtiMap(chid).size();
244  int ntraco = dttpgConfig.getDTConfigTracoMap(chid).size();
245  int ntss = dttpgConfig.getDTConfigTSPhi(chid)->nValidTSS();
246  int ntsm = dttpgConfig.getDTConfigTSPhi(chid)->nValidTSM();
247 
248  // check BTIs
249  if ((ist == 1 && nbti != 168) || (ist == 2 && nbti != 192) || (ist == 3 && nbti != 224) ||
250  (ist == 4 &&
251  (ise == 1 || ise == 2 || ise == 3 || ise == 5 || ise == 6 || ise == 7 || ise == 8 || ise == 12) &&
252  nbti != 192) ||
253  (ist == 4 && (ise == 9 || ise == 11) && nbti != 96) || (ist == 4 && ise == 10 && nbti != 128) ||
254  (ist == 4 && ise == 4 && nbti != 160)) {
255  check_cfg_code = 1;
256  return check_cfg_code;
257  }
258 
259  // check TRACOs
260  if ((ist == 1 && ntraco != 13) || (ist == 2 && ntraco != 16) || (ist == 3 && ntraco != 20) ||
261  (ist == 4 &&
262  (ise == 1 || ise == 2 || ise == 3 || ise == 5 || ise == 6 || ise == 7 || ise == 8 || ise == 12) &&
263  ntraco != 24) ||
264  (ist == 4 && (ise == 9 || ise == 11) && ntraco != 12) || (ist == 4 && ise == 10 && ntraco != 16) ||
265  (ist == 4 && ise == 4 && ntraco != 20)) {
266  check_cfg_code = 2;
267  return check_cfg_code;
268  }
269 
270  // check TSS
271  if ((ist == 1 && ntss != 4) || (ist == 2 && ntss != 4) || (ist == 3 && ntss != 5) ||
272  (ist == 4 &&
273  (ise == 1 || ise == 2 || ise == 3 || ise == 5 || ise == 6 || ise == 7 || ise == 8 || ise == 12) &&
274  ntss != 6) ||
275  (ist == 4 && (ise == 9 || ise == 11) && ntss != 3) || (ist == 4 && ise == 10 && ntss != 4) ||
276  (ist == 4 && ise == 4 && ntss != 5)) {
277  check_cfg_code = 3;
278  return check_cfg_code;
279  }
280 
281  // check TSM
282  if (ntsm != 1) {
283  check_cfg_code = 4;
284  return check_cfg_code;
285  }
286 
287  // if(check_cfg_code){
288  // cout << "nbti " << nbti << " ntraco " << ntraco << " ntss " << ntss
289  // << " ntsm " << ntsm << endl; cout << "Check: ch " << ist << " sec "
290  // << ise << " wh " << iwh << " == >check_cfg_code " << check_cfg_code
291  // << endl;
292  //}
293  } // end st loop
294  } // end sec loop
295 
296  // SV MB4 has two more chambers
297  for (int ise = 13; ise <= 14; ise++) {
298  DTChamberId chid(iwh, 4, ise);
299 
300  int nbti = dttpgConfig.getDTConfigBtiMap(chid).size();
301  int ntraco = dttpgConfig.getDTConfigTracoMap(chid).size();
302  int ntss = dttpgConfig.getDTConfigTSPhi(chid)->nValidTSS();
303  int ntsm = dttpgConfig.getDTConfigTSPhi(chid)->nValidTSM();
304 
305  if ((ise == 13 && nbti != 160) || (ise == 14 && nbti != 128)) {
306  check_cfg_code = 1;
307  return check_cfg_code;
308  }
309  if ((ise == 13 && ntraco != 20) || (ise == 14 && ntraco != 16)) {
310  check_cfg_code = 2;
311  return check_cfg_code;
312  }
313  if ((ise == 13 && ntss != 5) || (ise == 14 && ntss != 4)) {
314  check_cfg_code = 3;
315  return check_cfg_code;
316  }
317  if (ntsm != 1) {
318  check_cfg_code = 4;
319  return check_cfg_code;
320  }
321  // if(check_cfg_code){
322  // cout << "nbti " << nbti << " ntraco " << ntraco << " ntss " << ntss <<
323  // " ntsm " << ntsm << endl; cout << "Check: ch " << 4 << " sec " << ise
324  // << " wh " << iwh << " == >check_cfg_code " << check_cfg_code << endl;
325  //}
326  } // end sec 13 14
327 
328  } // end wh loop
329 
330  // cout << "CheckDTCCB: config OK! check_cfg_code = " << check_cfg_code <<
331  // endl;
332  return check_cfg_code;
333 }

References DTConfigManager::getDTConfigBtiMap(), DTConfigManager::getDTConfigTracoMap(), DTConfigManager::getDTConfigTSPhi(), DTConfigTSPhi::nValidTSM(), and DTConfigTSPhi::nValidTSS().

Referenced by produce().

◆ configFromCfg()

void DTConfigDBProducer::configFromCfg ( DTConfigManager dttpgConfig)
private

SV for debugging purpose ONLY.

Definition at line 671 of file DTConfigDBProducer.cc.

671  {
672  // ... but still set CCB validity flag to let the emulator run
673  dttpgConfig.setCCBConfigValidity(true);
674 
675  // create config classes&C.
676  edm::ParameterSet conf_ps = m_ps.getParameter<edm::ParameterSet>("DTTPGParameters");
678  bool dttpgdebug = conf_ps.getUntrackedParameter<bool>("Debug");
679  DTConfigSectColl sectcollconf(conf_ps.getParameter<edm::ParameterSet>("SectCollParameters"));
680  edm::ParameterSet tups = conf_ps.getParameter<edm::ParameterSet>("TUParameters");
681  DTConfigBti bticonf(tups.getParameter<edm::ParameterSet>("BtiParameters"));
682  DTConfigTraco tracoconf(tups.getParameter<edm::ParameterSet>("TracoParameters"));
683  DTConfigTSTheta tsthetaconf(tups.getParameter<edm::ParameterSet>("TSThetaParameters"));
684  DTConfigTSPhi tsphiconf(tups.getParameter<edm::ParameterSet>("TSPhiParameters"));
685  DTConfigTrigUnit trigunitconf(tups);
686  DTConfigLUTs lutconf(tups.getParameter<edm::ParameterSet>("LutParameters"));
687 
688  for (int iwh = -2; iwh <= 2; ++iwh) {
689  for (int ist = 1; ist <= 4; ++ist) {
690  for (int ise = 1; ise <= 12; ++ise) {
691  DTChamberId chambid(iwh, ist, ise);
692  vector<int> nmap = conf_map.getUntrackedParameter<vector<int>>(mapEntryName(chambid).c_str());
693 
694  if (dttpgdebug) {
695  cout << " Filling configuration for chamber : wh " << chambid.wheel() << ", st " << chambid.station()
696  << ", se " << chambid.sector() << endl;
697  }
698 
699  // fill the bti map
700  if (!flagDBBti) {
701  for (int isl = 1; isl <= 3; isl++) {
702  int ncell = nmap[isl - 1];
703  // cout << ncell <<" , ";
704  for (int ibti = 0; ibti < ncell; ibti++) {
705  dttpgConfig.setDTConfigBti(DTBtiId(chambid, isl, ibti + 1), bticonf);
706  if (dttpgdebug)
707  cout << "Filling BTI config for chamber : wh " << chambid.wheel() << ", st " << chambid.station()
708  << ", se " << chambid.sector() << "... sl " << isl << ", bti " << ibti + 1 << endl;
709  }
710  }
711  }
712 
713  // fill the traco map
714  if (!flagDBTraco) {
715  int ntraco = nmap[3];
716  // cout << ntraco << " }" << endl;
717  for (int itraco = 0; itraco < ntraco; itraco++) {
718  dttpgConfig.setDTConfigTraco(DTTracoId(chambid, itraco + 1), tracoconf);
719  if (dttpgdebug)
720  cout << "Filling TRACO config for chamber : wh " << chambid.wheel() << ", st " << chambid.station()
721  << ", se " << chambid.sector() << ", traco " << itraco + 1 << endl;
722  }
723  }
724 
725  // fill TS & TrigUnit
726  if (!flagDBTSS || !flagDBTSM) {
727  dttpgConfig.setDTConfigTSTheta(chambid, tsthetaconf);
728  dttpgConfig.setDTConfigTSPhi(chambid, tsphiconf);
729  dttpgConfig.setDTConfigTrigUnit(chambid, trigunitconf);
730  }
731  }
732  }
733  }
734 
735  for (int iwh = -2; iwh <= 2; ++iwh) {
736  for (int ise = 13; ise <= 14; ++ise) {
737  int ist = 4;
738  DTChamberId chambid(iwh, ist, ise);
739  vector<int> nmap = conf_map.getUntrackedParameter<vector<int>>(mapEntryName(chambid).c_str());
740 
741  if (dttpgdebug) {
742  cout << " Filling configuration for chamber : wh " << chambid.wheel() << ", st " << chambid.station() << ", se "
743  << chambid.sector() << endl;
744  }
745 
746  // fill the bti map
747  if (!flagDBBti) {
748  for (int isl = 1; isl <= 3; isl++) {
749  int ncell = nmap[isl - 1];
750  // cout << ncell <<" , ";
751  for (int ibti = 0; ibti < ncell; ibti++) {
752  dttpgConfig.setDTConfigBti(DTBtiId(chambid, isl, ibti + 1), bticonf);
753  if (dttpgdebug)
754  cout << "Filling BTI config for chamber : wh " << chambid.wheel() << ", st " << chambid.station()
755  << ", se " << chambid.sector() << "... sl " << isl << ", bti " << ibti + 1 << endl;
756  }
757  }
758  }
759 
760  // fill the traco map
761  if (!flagDBTraco) {
762  int ntraco = nmap[3];
763  // cout << ntraco << " }" << endl;
764  for (int itraco = 0; itraco < ntraco; itraco++) {
765  dttpgConfig.setDTConfigTraco(DTTracoId(chambid, itraco + 1), tracoconf);
766  if (dttpgdebug)
767  cout << "Filling TRACO config for chamber : wh " << chambid.wheel() << ", st " << chambid.station()
768  << ", se " << chambid.sector() << ", traco " << itraco + 1 << endl;
769  }
770  }
771 
772  // fill TS & TrigUnit
773  if (!flagDBTSS || !flagDBTSM) {
774  dttpgConfig.setDTConfigTSTheta(chambid, tsthetaconf);
775  dttpgConfig.setDTConfigTSPhi(chambid, tsphiconf);
776  dttpgConfig.setDTConfigTrigUnit(chambid, trigunitconf);
777  }
778  }
779  }
780 
781  // loop on Sector Collectors
782  for (int wh = -2; wh <= 2; wh++)
783  for (int se = 1; se <= 12; se++)
784  dttpgConfig.setDTConfigSectColl(DTSectCollId(wh, se), sectcollconf);
785 
786  // fake collection of pedestals
788 
789  return;
790 }

References buildTrivialPedestals(), gather_cfg::cout, flagDBBti, flagDBTraco, flagDBTSM, flagDBTSS, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), m_ps, mapEntryName(), DTChamberId::sector(), DTConfigManager::setCCBConfigValidity(), DTConfigManager::setDTConfigBti(), DTConfigManager::setDTConfigPedestals(), DTConfigManager::setDTConfigSectColl(), DTConfigManager::setDTConfigTraco(), DTConfigManager::setDTConfigTrigUnit(), DTConfigManager::setDTConfigTSPhi(), DTConfigManager::setDTConfigTSTheta(), DTChamberId::station(), and DTChamberId::wheel().

Referenced by produce().

◆ mapEntryName()

std::string DTConfigDBProducer::mapEntryName ( const DTChamberId chambid) const
private

Definition at line 658 of file DTConfigDBProducer.cc.

658  {
659  int iwh = chambid.wheel();
660  std::ostringstream os;
661  os << "wh";
662  if (iwh < 0) {
663  os << 'm' << -iwh;
664  } else {
665  os << iwh;
666  }
667  os << "st" << chambid.station() << "se" << chambid.sector();
668  return os.str();
669 }

References DTChamberId::sector(), DTChamberId::station(), and DTChamberId::wheel().

Referenced by configFromCfg().

◆ produce()

std::unique_ptr< DTConfigManager > DTConfigDBProducer::produce ( const DTConfigManagerRcd iRecord)

ES produce method.

Definition at line 159 of file DTConfigDBProducer.cc.

159  {
160  using namespace edm;
161 
162  std::unique_ptr<DTConfigManager> dtConfig = std::unique_ptr<DTConfigManager>(new DTConfigManager());
163  DTConfigManager &dttpgConfig = *(dtConfig.get());
164 
165  // DB specific requests
166  bool tracoLutsFromDB = m_ps.getParameter<bool>("TracoLutsFromDB");
167  bool useBtiAcceptParam = m_ps.getParameter<bool>("UseBtiAcceptParam");
168 
169  // set specific DB requests
170  dttpgConfig.setLutFromDB(tracoLutsFromDB);
171  dttpgConfig.setUseAcceptParam(useBtiAcceptParam);
172 
173  // set debug
174  edm::ParameterSet conf_ps = m_ps.getParameter<edm::ParameterSet>("DTTPGParameters");
175  bool dttpgdebug = conf_ps.getUntrackedParameter<bool>("Debug");
176  dttpgConfig.setDTTPGDebug(dttpgdebug);
177 
178  int code;
179  if (cfgConfig) {
180  dttpgConfig.setLutFromDB(false);
181  configFromCfg(dttpgConfig);
182  code = 2;
183  } else {
184  code = readDTCCBConfig(iRecord, dttpgConfig);
185  readDBPedestalsConfig(iRecord, dttpgConfig);
186  // 110628 SV add config check
187  if (code != -1 && checkDTCCBConfig(dttpgConfig) > 0)
188  code = -1;
189  }
190  // cout << "DTConfigDBProducer::produce CODE " << code << endl;
191  if (code == -1) {
192  dttpgConfig.setCCBConfigValidity(false);
193  } else if (code == 2) {
194  LogVerbatim("DTTPG") << "DTConfigDBProducer::produce : Trivial : " << endl
195  << "configurations has been read from cfg" << endl;
196  } else if (code == 0) {
197  LogVerbatim("DTTPG") << "DTConfigDBProducer::produce : " << endl
198  << "Configurations successfully read from OMDS" << endl;
199  } else {
200  LogProblem("DTTPG") << "DTConfigDBProducer::produce : " << endl << "Wrong configuration return CODE" << endl;
201  }
202 
203  return dtConfig;
204 }

References cfgConfig, checkDTCCBConfig(), configFromCfg(), edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), m_ps, readDBPedestalsConfig(), readDTCCBConfig(), DTConfigManager::setCCBConfigValidity(), DTConfigManager::setDTTPGDebug(), DTConfigManager::setLutFromDB(), and DTConfigManager::setUseAcceptParam().

Referenced by DTConfigDBProducer().

◆ readDBPedestalsConfig()

void DTConfigDBProducer::readDBPedestalsConfig ( const DTConfigManagerRcd iRecord,
DTConfigManager dttpgConfig 
)
private

Read DTTPG pedestal configuration.

Definition at line 206 of file DTConfigDBProducer.cc.

206  {
207  const auto &dttpgParams = iRecord.get(m_dttpgParamsToken);
208 
209  DTConfigPedestals pedestals;
210  pedestals.setDebug(m_debugPed);
211 
212  if (m_UseT0) {
213  pedestals.setUseT0(true);
214  pedestals.setES(&dttpgParams, &iRecord.get(m_t0iToken));
215  // cout << "checkDTCCBConfig CODE is " << checkDTCCBConfig() << endl;
216 
217  } else {
218  pedestals.setUseT0(false);
219  pedestals.setES(&dttpgParams);
220  }
221 
222  dttpgConfig.setDTConfigPedestals(pedestals);
223 }

References edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::get(), m_debugPed, m_dttpgParamsToken, m_t0iToken, m_UseT0, DTConfigPedestals::setDebug(), DTConfigManager::setDTConfigPedestals(), DTConfigPedestals::setES(), and DTConfigPedestals::setUseT0().

Referenced by produce().

◆ readDTCCBConfig()

int DTConfigDBProducer::readDTCCBConfig ( const DTConfigManagerRcd iRecord,
DTConfigManager dttpgConfig 
)
private

Read CCB string configuration.

Definition at line 335 of file DTConfigDBProducer.cc.

335  {
336  using namespace edm::eventsetup;
337 
338  // initialize CCB validity flag
339  dttpgConfig.setCCBConfigValidity(true);
340 
341  // get DTCCBConfigRcd from DTConfigManagerRcd (they are dependent records)
342  const auto &ccb_conf = iRecord.get(m_ccb_confToken);
343  int ndata = std::distance(ccb_conf.begin(), ccb_conf.end());
344 
345  const DTKeyedConfigListRcd &keyRecord = iRecord.getRecord<DTKeyedConfigListRcd>();
346 
347  if (m_debugDB) {
348  cout << ccb_conf.version() << endl;
349  cout << ndata << " data in the container" << endl;
350  }
351 
353  unsigned int currValidityStart = iov.first().eventID().run();
354  unsigned int currValidityEnd = iov.last().eventID().run();
355 
356  if (m_debugDB)
357  cout << "valid since run " << currValidityStart << " to run " << currValidityEnd << endl;
358 
359  // if there are no data in the container, configuration from cfg files...
360  if (ndata == 0) {
361  return -1;
362  }
363 
364  // get DTTPGMap for retrieving bti number and traco number
366 
367  // loop over chambers
368  DTCCBConfig::ccb_config_map configKeys(ccb_conf.configKeyMap());
369  DTCCBConfig::ccb_config_iterator iter = configKeys.begin();
370  DTCCBConfig::ccb_config_iterator iend = configKeys.end();
371 
372  // 110628 SV check that number of CCB is equal to total number of chambers
373  if (ccb_conf.configKeyMap().size() != 250) // check the number of chambers!!!
374  return -1;
375 
376  auto const &keyList = keyRecord.get(m_keyListToken);
377 
378  // read data from CCBConfig
379  while (iter != iend) {
380  // 110628 SV moved here from constructor, to check config consistency for
381  // EVERY chamber initialize flags to check if data are present in OMDS
382  flagDBBti = false;
383  flagDBTraco = false;
384  flagDBTSS = false;
385  flagDBTSM = false;
386  flagDBLUTS = false;
387 
388  // get chamber id
389  const DTCCBId &ccbId = iter->first;
390  if (m_debugDB)
391  cout << " Filling configuration for chamber : wh " << ccbId.wheelId << " st " << ccbId.stationId << " se "
392  << ccbId.sectorId << " -> " << endl;
393 
394  // get chamber type and id from ccbId
395  int mbtype = DTPosNegType::getCT(ccbId.wheelId, ccbId.sectorId, ccbId.stationId);
396  int posneg = DTPosNegType::getPN(ccbId.wheelId, ccbId.sectorId, ccbId.stationId);
397  if (m_debugDB)
398  cout << "Chamber type : " << mbtype << " posneg : " << posneg << endl;
399  DTChamberId chambid(ccbId.wheelId, ccbId.stationId, ccbId.sectorId);
400 
401  // get brick identifiers list
402  const std::vector<int> &ccbConf = iter->second;
403  std::vector<int>::const_iterator cfgIter = ccbConf.begin();
404  std::vector<int>::const_iterator cfgIend = ccbConf.end();
405 
406  // TSS-TSM buffers
407  unsigned short int tss_buffer[7][31];
408  unsigned short int tsm_buffer[9];
409  int ntss = 0;
410 
411  // loop over configuration bricks
412  while (cfgIter != cfgIend) {
413  // get brick identifier
414  int id = *cfgIter++;
415  if (m_debugDB)
416  cout << " BRICK " << id << endl;
417 
418  // create strings list
419  std::vector<std::string> list;
420 
421  cfgCache.getData(keyList, id, list);
422 
423  // loop over strings
424  std::vector<std::string>::const_iterator s_iter = list.begin();
425  std::vector<std::string>::const_iterator s_iend = list.end();
426  while (s_iter != s_iend) {
427  if (m_debugDB)
428  cout << " ----> " << *s_iter << endl;
429 
430  // copy string in unsigned int buffer
431  std::string str = *s_iter++;
432  unsigned short int buffer[100]; // 2 bytes
433  int c = 0;
434  const char *cstr = str.c_str();
435  const char *ptr = cstr + 2;
436  const char *end = cstr + str.length();
437  while (ptr < end) {
438  char c1 = *ptr++;
439  int i1 = 0;
440  if ((c1 >= '0') && (c1 <= '9'))
441  i1 = c1 - '0';
442  if ((c1 >= 'a') && (c1 <= 'f'))
443  i1 = 10 + c1 - 'a';
444  if ((c1 >= 'A') && (c1 <= 'F'))
445  i1 = 10 + c1 - 'A';
446  char c2 = *ptr++;
447  int i2 = 0;
448  if ((c2 >= '0') && (c2 <= '9'))
449  i2 = c2 - '0';
450  if ((c2 >= 'a') && (c2 <= 'f'))
451  i2 = 10 + c2 - 'a';
452  if ((c2 >= 'A') && (c2 <= 'F'))
453  i2 = 10 + c2 - 'A';
454  buffer[c] = (i1 * 16) + i2;
455  c++;
456  } // end loop over string
457 
458  // BTI configuration string
459  if (buffer[2] == 0x54) {
460  if (m_debugDB)
461  cout << "BTI STRING found in DB" << endl;
462 
463  // BTI configuration read for BTI
464  flagDBBti = true;
465 
466  // compute sl and bti number from board and chip
467  int brd = buffer[3]; // Board Nr.
468  int chip = buffer[4]; // Chip Nr.
469 
470  if (brd > 7) {
471  cout << "Not existing board ... " << brd << endl;
472  return -1; // Non-existing board
473  }
474  if (chip > 31) {
475  cout << "Not existing chip... " << chip << endl;
476  return -1; // Non existing chip
477  }
478 
479  // Is it Phi or Theta board?
480  bool ThetaSL, PhiSL;
481  PhiSL = false;
482  ThetaSL = false;
483  switch (mbtype) {
484  case 1: // mb1
485  if (brd == 6 || brd == 7) {
486  ThetaSL = true;
487  brd -= 6;
488  } else if ((brd < 3 && chip < 32) || (brd == 3 && chip < 8))
489  PhiSL = true;
490  break;
491  case 2: // mb2
492  if (brd == 6 || brd == 7) {
493  ThetaSL = true;
494  brd -= 6;
495  } else if (brd < 4 && chip < 32)
496  PhiSL = true;
497  break;
498  case 3: // mb3
499  if (brd == 6 || brd == 7) {
500  ThetaSL = true;
501  brd -= 6;
502  } else if (brd < 5 && chip < 32)
503  PhiSL = true;
504  break;
505  case 4: // mb4-s, mb4_8
506  if (brd < 6 && chip < 32)
507  PhiSL = true;
508  break;
509  case 5: // mb4-9
510  if (brd < 3 && chip < 32)
511  PhiSL = true;
512  break;
513  case 6: // mb4-4
514  if (brd < 5 && chip < 32)
515  PhiSL = true;
516  break;
517  case 7: // mb4-10
518  if (brd < 4 && chip < 32)
519  PhiSL = true;
520  break;
521  }
522  if (!PhiSL && !ThetaSL) {
523  cout << "MB type " << mbtype << endl;
524  cout << "Board " << brd << " chip " << chip << endl;
525  cout << "Not phi SL nor Theta SL" << endl;
526  return -1; // Not PhiSL nor ThetaSL
527  }
528 
529  // compute SL number and bti number
530  int isl = 0;
531  int ibti = 0;
532  if (PhiSL) {
533  if ((chip % 8) < 4)
534  isl = 1; // Phi1
535  else
536  isl = 3; // Phi2
537  ibti = brd * 16 + (int)(chip / 8) * 4 + (chip % 4);
538  } else if (ThetaSL) {
539  isl = 2; // Theta
540  if ((chip % 8) < 4)
541  ibti = brd * 32 + chip - 4 * (int)(chip / 8);
542  else
543  ibti = brd * 32 + chip + 12 - 4 * (int)(chip / 8);
544  }
545 
546  // BTI config constructor from strings
547  DTConfigBti bticonf(m_debugBti, buffer);
548 
549  dttpgConfig.setDTConfigBti(DTBtiId(chambid, isl, ibti + 1), bticonf);
550 
551  if (m_debugDB)
552  cout << "Filling BTI config for chamber : wh " << chambid.wheel() << ", st " << chambid.station() << ", se "
553  << chambid.sector() << "... sl " << isl << ", bti " << ibti + 1 << endl;
554  }
555 
556  // TRACO configuration string
557  if (buffer[2] == 0x15) {
558  if (m_debugDB)
559  cout << "TRACO STRING found in DB" << endl;
560  // TRACO configuration read from OMDS
561  flagDBTraco = true;
562 
563  // TRACO config constructor from strings
564  int traco_brd = buffer[3]; // Board Nr.;
565  int traco_chip = buffer[4]; // Chip Nr.;
566  int itraco = traco_brd * 4 + traco_chip + 1;
567  DTConfigTraco tracoconf(m_debugTraco, buffer);
568  dttpgConfig.setDTConfigTraco(DTTracoId(chambid, itraco), tracoconf);
569 
570  if (m_debugDB)
571  cout << "Filling TRACO config for chamber : wh " << chambid.wheel() << ", st " << chambid.station()
572  << ", se " << chambid.sector() << ", board " << traco_brd << ", chip " << traco_chip << ", traco "
573  << itraco << endl;
574  }
575 
576  // TSS configuration string
577  if (buffer[2] == 0x16) {
578  if (m_debugDB)
579  cout << "TSS STRING found in DB" << endl;
580  // TSS configuration read from OMDS
581  flagDBTSS = true;
582 
583  unsigned short int itss = buffer[3];
584  for (int i = 0; i < 31; i++)
585  tss_buffer[itss][i] = buffer[i];
586  ntss++;
587  }
588 
589  // TSM configuration string
590  if (buffer[2] == 0x17) {
591  if (m_debugDB)
592  cout << "TSM STRING found in DB" << endl;
593 
594  // TSM configuration read from OMDS
595  flagDBTSM = true;
596 
597  for (int i = 0; i < 9; i++)
598  tsm_buffer[i] = buffer[i];
599  }
600 
601  // LUT configuration string
602  if (buffer[2] == 0xA8) {
603  if (m_debugDB)
604  cout << "LUT STRING found in DB" << endl;
605 
606  // LUT parameters read from OMDS
607  flagDBLUTS = true;
608  DTConfigLUTs lutconf(m_debugLUTs, buffer);
609  // lutconf.setDebug(m_debugLUTs);
610  dttpgConfig.setDTConfigLUTs(chambid, lutconf);
611  }
612 
613  } // end string iteration
614  } // end brick iteration
615 
616  // TSS + TSM configurations are set in DTConfigTSPhi constructor
617  if (flagDBTSM && flagDBTSS) {
618  DTConfigTSPhi tsphiconf(m_debugTSP, tss_buffer, ntss, tsm_buffer);
619  dttpgConfig.setDTConfigTSPhi(chambid, tsphiconf);
620  }
621 
622  // get configuration for TSTheta, SC and TU from .cfg
623  edm::ParameterSet conf_ps = m_ps.getParameter<edm::ParameterSet>("DTTPGParameters");
624  edm::ParameterSet tups = conf_ps.getParameter<edm::ParameterSet>("TUParameters");
625 
626  // TSTheta configuration from .cfg
627  DTConfigTSTheta tsthetaconf(tups.getParameter<edm::ParameterSet>("TSThetaParameters"));
628  tsthetaconf.setDebug(m_debugTST);
629  dttpgConfig.setDTConfigTSTheta(chambid, tsthetaconf);
630 
631  // SC configuration from .cfg
632  DTConfigSectColl sectcollconf(conf_ps.getParameter<edm::ParameterSet>("SectCollParameters"));
633  sectcollconf.setDebug(m_debugSC);
634  dttpgConfig.setDTConfigSectColl(DTSectCollId(chambid.wheel(), chambid.sector()), sectcollconf);
635 
636  // TU configuration from .cfg
637  DTConfigTrigUnit trigunitconf(tups);
638  trigunitconf.setDebug(m_debugTU);
639  dttpgConfig.setDTConfigTrigUnit(chambid, trigunitconf);
640 
641  ++iter;
642 
643  // 110628 SV moved inside CCB loop to check for every chamber
644  // moved to exception handling no attempt to configure from cfg is DB is
645  // missing SV comment exception handling and activate flag in
646  // DTConfigManager
647  if (!flagDBBti || !flagDBTraco || !flagDBTSS || !flagDBTSM) {
648  return -1;
649  }
650  if (!flagDBLUTS && dttpgConfig.lutFromDB() == true) {
651  return -1;
652  }
653  } // end loop over CCB
654 
655  return 0;
656 }

References edmScanValgrind::buffer, HltBtagPostValidation_cff::c, alignmentValidation::c1, cfgCache, gather_cfg::cout, HLT_2018_cff::distance, end, edm::IOVSyncValue::eventID(), edm::ValidityInterval::first(), flagDBBti, flagDBLUTS, flagDBTraco, flagDBTSM, flagDBTSS, edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::get(), DTPosNegType::getCT(), DTKeyedConfigCache::getData(), edm::ParameterSet::getParameter(), DTPosNegType::getPN(), edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::getRecord(), edm::ParameterSet::getUntrackedParameter(), mps_fire::i, testProducerWithPsetDescEmpty_cfi::i1, testProducerWithPsetDescEmpty_cfi::i2, createfilelist::int, list(), DTConfigManager::lutFromDB(), m_ccb_confToken, m_debugBti, m_debugDB, m_debugLUTs, m_debugSC, m_debugTraco, m_debugTSP, m_debugTST, m_debugTU, m_keyListToken, m_ps, edm::EventID::run(), DTChamberId::sector(), DTCCBId::sectorId, DTConfigManager::setCCBConfigValidity(), DTConfigTrigUnit::setDebug(), DTConfigSectColl::setDebug(), DTConfigManager::setDTConfigBti(), DTConfigManager::setDTConfigLUTs(), DTConfigManager::setDTConfigSectColl(), DTConfigManager::setDTConfigTraco(), DTConfigManager::setDTConfigTrigUnit(), DTConfigManager::setDTConfigTSPhi(), DTConfigManager::setDTConfigTSTheta(), DTChamberId::station(), DTCCBId::stationId, str, AlCaHLTBitMon_QueryRunRegistry::string, edm::eventsetup::EventSetupRecord::validityInterval(), DTChamberId::wheel(), and DTCCBId::wheelId.

Referenced by produce().

Member Data Documentation

◆ cfgCache

DTKeyedConfigCache DTConfigDBProducer::cfgCache
private

Definition at line 116 of file DTConfigDBProducer.cc.

Referenced by readDTCCBConfig().

◆ cfgConfig

bool DTConfigDBProducer::cfgConfig
private

Definition at line 112 of file DTConfigDBProducer.cc.

Referenced by DTConfigDBProducer(), and produce().

◆ flagDBBti

bool DTConfigDBProducer::flagDBBti
private

Definition at line 114 of file DTConfigDBProducer.cc.

Referenced by configFromCfg(), and readDTCCBConfig().

◆ flagDBLUTS

bool DTConfigDBProducer::flagDBLUTS
private

Definition at line 114 of file DTConfigDBProducer.cc.

Referenced by readDTCCBConfig().

◆ flagDBTraco

bool DTConfigDBProducer::flagDBTraco
private

Definition at line 114 of file DTConfigDBProducer.cc.

Referenced by configFromCfg(), and readDTCCBConfig().

◆ flagDBTSM

bool DTConfigDBProducer::flagDBTSM
private

Definition at line 114 of file DTConfigDBProducer.cc.

Referenced by configFromCfg(), and readDTCCBConfig().

◆ flagDBTSS

bool DTConfigDBProducer::flagDBTSS
private

Definition at line 114 of file DTConfigDBProducer.cc.

Referenced by configFromCfg(), and readDTCCBConfig().

◆ m_ccb_confToken

edm::ESGetToken<DTCCBConfig, DTCCBConfigRcd> DTConfigDBProducer::m_ccb_confToken
private

Definition at line 95 of file DTConfigDBProducer.cc.

Referenced by DTConfigDBProducer(), and readDTCCBConfig().

◆ m_debugBti

int DTConfigDBProducer::m_debugBti
private

Definition at line 100 of file DTConfigDBProducer.cc.

Referenced by DTConfigDBProducer(), and readDTCCBConfig().

◆ m_debugDB

bool DTConfigDBProducer::m_debugDB
private

Definition at line 99 of file DTConfigDBProducer.cc.

Referenced by DTConfigDBProducer(), and readDTCCBConfig().

◆ m_debugLUTs

bool DTConfigDBProducer::m_debugLUTs
private

Definition at line 106 of file DTConfigDBProducer.cc.

Referenced by DTConfigDBProducer(), and readDTCCBConfig().

◆ m_debugPed

bool DTConfigDBProducer::m_debugPed
private

◆ m_debugSC

bool DTConfigDBProducer::m_debugSC
private

Definition at line 105 of file DTConfigDBProducer.cc.

Referenced by DTConfigDBProducer(), and readDTCCBConfig().

◆ m_debugTraco

int DTConfigDBProducer::m_debugTraco
private

Definition at line 101 of file DTConfigDBProducer.cc.

Referenced by DTConfigDBProducer(), and readDTCCBConfig().

◆ m_debugTSP

bool DTConfigDBProducer::m_debugTSP
private

Definition at line 102 of file DTConfigDBProducer.cc.

Referenced by DTConfigDBProducer(), and readDTCCBConfig().

◆ m_debugTST

bool DTConfigDBProducer::m_debugTST
private

Definition at line 103 of file DTConfigDBProducer.cc.

Referenced by DTConfigDBProducer(), and readDTCCBConfig().

◆ m_debugTU

bool DTConfigDBProducer::m_debugTU
private

Definition at line 104 of file DTConfigDBProducer.cc.

Referenced by DTConfigDBProducer(), and readDTCCBConfig().

◆ m_dttpgParamsToken

edm::ESGetToken<DTTPGParameters, DTTPGParametersRcd> DTConfigDBProducer::m_dttpgParamsToken
private

Definition at line 93 of file DTConfigDBProducer.cc.

Referenced by DTConfigDBProducer(), and readDBPedestalsConfig().

◆ m_keyListToken

edm::ESGetToken<cond::persistency::KeyList, DTKeyedConfigListRcd> DTConfigDBProducer::m_keyListToken
private

Definition at line 96 of file DTConfigDBProducer.cc.

Referenced by DTConfigDBProducer(), and readDTCCBConfig().

◆ m_ps

edm::ParameterSet DTConfigDBProducer::m_ps
private

◆ m_t0iToken

edm::ESGetToken<DTT0, DTT0Rcd> DTConfigDBProducer::m_t0iToken
private

Definition at line 94 of file DTConfigDBProducer.cc.

Referenced by DTConfigDBProducer(), and readDBPedestalsConfig().

◆ m_UseT0

bool DTConfigDBProducer::m_UseT0
private

Definition at line 110 of file DTConfigDBProducer.cc.

Referenced by DTConfigDBProducer(), and readDBPedestalsConfig().

edm::eventsetup::DependentRecordImplementation::getRecord
const DepRecordT getRecord() const
Definition: DependentRecordImplementation.h:51
DTTPGParameters::set
int set(int wheelId, int stationId, int sectorId, int nc, float ph, DTTimeUnits::type unit)
Definition: DTTPGParameters.cc:123
DTConfigDBProducer::m_ccb_confToken
edm::ESGetToken< DTCCBConfig, DTCCBConfigRcd > m_ccb_confToken
Definition: DTConfigDBProducer.cc:95
testProducerWithPsetDescEmpty_cfi.i2
i2
Definition: testProducerWithPsetDescEmpty_cfi.py:46
DTCCBConfig::ccb_config_map
std::vector< std::pair< DTCCBId, std::vector< int > > > ccb_config_map
Definition: DTCCBConfig.h:71
mps_fire.i
i
Definition: mps_fire.py:355
DTTracoId
Definition: DTTracoId.h:34
DTCCBId
Definition: DTCCBConfig.h:37
DTConfigSectColl
Definition: DTConfigSectColl.h:37
DTConfigDBProducer::configFromCfg
void configFromCfg(DTConfigManager &dttpgConfig)
SV for debugging purpose ONLY.
Definition: DTConfigDBProducer.cc:671
DTConfigTSPhi::nValidTSS
int nValidTSS() const
Number of correctly configured TSS.
Definition: DTConfigTSPhi.cc:439
DTConfigDBProducer::m_keyListToken
edm::ESGetToken< cond::persistency::KeyList, DTKeyedConfigListRcd > m_keyListToken
Definition: DTConfigDBProducer.cc:96
DTConfigTraco
Definition: DTConfigTraco.h:37
DTConfigManager::lutFromDB
bool lutFromDB() const
Lut from DB flag.
Definition: DTConfigManager.h:105
DTConfigManager::setDTConfigLUTs
void setDTConfigLUTs(DTChamberId chambid, DTConfigLUTs conf)
Set DTConfigLUTs for desired chamber.
Definition: DTConfigManager.h:129
DTConfigDBProducer::m_debugTSP
bool m_debugTSP
Definition: DTConfigDBProducer.cc:102
edm
HLT enums.
Definition: AlignableModifier.h:19
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
gather_cfg.cout
cout
Definition: gather_cfg.py:144
testProducerWithPsetDescEmpty_cfi.i1
i1
Definition: testProducerWithPsetDescEmpty_cfi.py:45
DTKeyedConfigCache::getData
void getData(const cond::persistency::KeyList &keyList, int cfgId, std::vector< std::string > &list)
Definition: DTKeyedConfigCache.cc:115
edm::ESProducer::setWhatProduced
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:138
edm::ValidityInterval
Definition: ValidityInterval.h:28
DTConfigDBProducer::produce
std::unique_ptr< DTConfigManager > produce(const DTConfigManagerRcd &)
ES produce method.
Definition: DTConfigDBProducer.cc:159
DTConfigManager::setDTConfigPedestals
void setDTConfigPedestals(DTConfigPedestals pedestals)
Set DTConfigPedestals configuration.
Definition: DTConfigManager.h:135
DTConfigDBProducer::m_debugTST
bool m_debugTST
Definition: DTConfigDBProducer.cc:103
HLT_2018_cff.distance
distance
Definition: HLT_2018_cff.py:6417
edm::ValidityInterval::first
const IOVSyncValue & first() const
Definition: ValidityInterval.h:37
DTConfigDBProducer::m_UseT0
bool m_UseT0
Definition: DTConfigDBProducer.cc:110
DTConfigBti
Definition: DTConfigBti.h:36
DTConfigDBProducer::mapEntryName
std::string mapEntryName(const DTChamberId &chambid) const
Definition: DTConfigDBProducer.cc:658
DTConfigPedestals::setDebug
void setDebug(bool debug)
Set debug flag.
Definition: DTConfigPedestals.h:54
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
DTConfigPedestals::setES
void setES(DTTPGParameters const *tpgParams, DTT0 const *t0Params=nullptr)
Set parameters from ES.
Definition: DTConfigPedestals.cc:49
DTCCBId::wheelId
int wheelId
Definition: DTCCBConfig.h:42
DTConfigDBProducer::m_t0iToken
edm::ESGetToken< DTT0, DTT0Rcd > m_t0iToken
Definition: DTConfigDBProducer.cc:94
DTConfigDBProducer::m_debugBti
int m_debugBti
Definition: DTConfigDBProducer.cc:100
end
#define end
Definition: vmac.h:39
DTCCBConfigRcd
Definition: DTCCBConfigRcd.h:5
edmScanValgrind.buffer
buffer
Definition: edmScanValgrind.py:171
cc
DTConfigDBProducer::m_debugSC
bool m_debugSC
Definition: DTConfigDBProducer.cc:105
DTConfigManager::setDTConfigTSTheta
void setDTConfigTSTheta(DTChamberId chambid, DTConfigTSTheta conf)
Set DTConfigTSTheta for desired chip.
Definition: DTConfigManager.h:120
DTConfigManager::setDTConfigTSPhi
void setDTConfigTSPhi(DTChamberId chambid, DTConfigTSPhi conf)
Set DTConfigTSPhi for desired chip.
Definition: DTConfigManager.h:123
DTConfigManager::setDTConfigTrigUnit
void setDTConfigTrigUnit(DTChamberId chambid, DTConfigTrigUnit conf)
Set DTConfigTrigUnit for desired chamber.
Definition: DTConfigManager.h:126
DTConfigTrigUnit
Definition: DTConfigTrigUnit.h:36
DTConfigManager::setDTTPGDebug
void setDTTPGDebug(bool debug)
SetGlobalDebug flag.
Definition: DTConfigManager.h:138
DTConfigManager::setUseAcceptParam
void setUseAcceptParam(bool acceptparam)
Set the use of Bti acceptance parameters (LL,LH,CL,CH,RL,RH)
Definition: DTConfigManager.h:144
DTConfigPedestals::setUseT0
void setUseT0(bool useT0)
Set t0i subtraction.
Definition: DTConfigPedestals.h:51
DTTimeUnits::ns
Definition: DTTimeUnits.h:32
DTKeyedConfigListRcd
Definition: DTKeyedConfigListRcd.h:5
str
#define str(s)
Definition: TestProcessor.cc:48
DTSectCollId
Definition: DTSectCollId.h:18
DTConfigDBProducer::readDBPedestalsConfig
void readDBPedestalsConfig(const DTConfigManagerRcd &iRecord, DTConfigManager &dttpgConfig)
Read DTTPG pedestal configuration.
Definition: DTConfigDBProducer.cc:206
DTConfigManager::getDTConfigBtiMap
const std::map< DTBtiId, DTConfigBti > & getDTConfigBtiMap(DTChamberId) const
Get desired BTI configuration map for a given DTChamber.
Definition: DTConfigManager.cc:77
edm::eventsetup::DependentRecordImplementation::get
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
Definition: DependentRecordImplementation.h:112
DTConfigManager::setDTConfigTraco
void setDTConfigTraco(DTTracoId, DTConfigTraco)
Set DTConfigTraco for desired chip.
Definition: DTConfigManager.cc:183
edm::EventID::run
RunNumber_t run() const
Definition: EventID.h:38
DTConfigManager::setDTConfigBti
void setDTConfigBti(DTBtiId, DTConfigBti)
Set DTConfigBti for desired chip.
Definition: DTConfigManager.cc:178
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
DTConfigManager::setLutFromDB
void setLutFromDB(bool lutFromDB)
Set lut from DB flag.
Definition: DTConfigManager.h:141
DTCCBId::stationId
int stationId
Definition: DTCCBConfig.h:43
DTPosNegType::getCT
static int getCT(int whe, int sec, int sta)
Definition: DTPosNegType.cc:90
L1DTConfigFromDB_cfi.DTTPGParameters
DTTPGParameters
Definition: L1DTConfigFromDB_cfi.py:262
edm::IOVSyncValue::eventID
const EventID & eventID() const
Definition: IOVSyncValue.h:40
edm::ParameterSet
Definition: ParameterSet.h:36
DTTPGParameters
Definition: DTTPGParameters.h:62
DTConfigDBProducer::checkDTCCBConfig
int checkDTCCBConfig(DTConfigManager &dttpgConfig)
110629 SV function for CCB configuration check
Definition: DTConfigDBProducer.cc:225
edm::LogProblem
Definition: MessageLogger.h:387
DTPosNegType::getPN
static int getPN(int whe, int sec, int sta)
Definition: DTPosNegType.cc:81
DTConfigDBProducer::m_ps
edm::ParameterSet m_ps
Definition: DTConfigDBProducer.cc:91
createfilelist.int
int
Definition: createfilelist.py:10
DTConfigDBProducer::flagDBBti
bool flagDBBti
Definition: DTConfigDBProducer.cc:114
alignmentValidation.c1
c1
do drawing
Definition: alignmentValidation.py:1025
DTConfigDBProducer::m_debugDB
bool m_debugDB
Definition: DTConfigDBProducer.cc:99
edm::LogVerbatim
Definition: MessageLogger.h:297
DTConfigDBProducer::flagDBTSM
bool flagDBTSM
Definition: DTConfigDBProducer.cc:114
DTBtiId
Definition: DTBtiId.h:32
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
DTConfigManager::setDTConfigSectColl
void setDTConfigSectColl(DTSectCollId sectcollid, DTConfigSectColl conf)
Set DTConfigSectColl for desired chip.
Definition: DTConfigManager.h:132
DTCCBId::sectorId
int sectorId
Definition: DTCCBConfig.h:44
DTConfigTSPhi
Definition: DTConfigTSPhi.h:36
DTConfigManager
Definition: DTConfigManager.h:49
DTConfigDBProducer::m_dttpgParamsToken
edm::ESGetToken< DTTPGParameters, DTTPGParametersRcd > m_dttpgParamsToken
Definition: DTConfigDBProducer.cc:93
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
DTConfigPedestals
Definition: DTConfigPedestals.h:36
DTConfigManager::getDTConfigTracoMap
const std::map< DTTracoId, DTConfigTraco > & getDTConfigTracoMap(DTChamberId) const
Get desired TRACO configuration map for a given DTChamber.
Definition: DTConfigManager.cc:106
DTConfigDBProducer::m_debugPed
bool m_debugPed
Definition: DTConfigDBProducer.cc:107
DTChamberId::sector
int sector() const
Definition: DTChamberId.h:49
DTConfigDBProducer::m_debugTU
bool m_debugTU
Definition: DTConfigDBProducer.cc:104
DTConfigTSTheta
Definition: DTConfigTSTheta.h:35
DTConfigDBProducer::cfgConfig
bool cfgConfig
Definition: DTConfigDBProducer.cc:112
DTConfigDBProducer::flagDBTraco
bool flagDBTraco
Definition: DTConfigDBProducer.cc:114
dqmiodumpmetadata.counts
counts
Definition: dqmiodumpmetadata.py:25
DTConfigManager::setCCBConfigValidity
void setCCBConfigValidity(bool CCBValid)
Set the flag for CCB configuration validity.
Definition: DTConfigManager.h:147
DTConfigDBProducer::m_debugLUTs
bool m_debugLUTs
Definition: DTConfigDBProducer.cc:106
DTConfigDBProducer::buildTrivialPedestals
DTConfigPedestals buildTrivialPedestals()
SV for debugging purpose ONLY.
Definition: DTConfigDBProducer.cc:792
DTConfigDBProducer::readDTCCBConfig
int readDTCCBConfig(const DTConfigManagerRcd &iRecord, DTConfigManager &dttpgConfig)
Read CCB string configuration.
Definition: DTConfigDBProducer.cc:335
DTConfigTSPhi::nValidTSM
int nValidTSM() const
Number of correctly configured TSS.
Definition: DTConfigTSPhi.cc:447
list
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger list("!*", "!HLTx*" if it matches 2 triggers or more) will accept the event if all the matching triggers are FAIL. It will reject the event if any of the triggers are PASS or EXCEPTION(this matches the behavior of "!*" before the partial wildcard feature was incorporated). Triggers which are in the READY state are completely ignored.(READY should never be returned since the trigger paths have been run
DTConfigManager::getDTConfigTSPhi
const DTConfigTSPhi * getDTConfigTSPhi(DTChamberId) const
Get desired Trigger Server Phi configuration.
Definition: DTConfigManager.cc:127
DTChamberId
Definition: DTChamberId.h:14
DTConfigLUTs
Definition: DTConfigLUTs.h:36
edm::eventsetup
Definition: ES_DDDetector.cc:16
DTConfigDBProducer::flagDBTSS
bool flagDBTSS
Definition: DTConfigDBProducer.cc:114
edm::eventsetup::EventSetupRecord::validityInterval
ValidityInterval validityInterval() const
Definition: EventSetupRecord.h:93
DTCCBConfig::ccb_config_iterator
ccb_config_map::const_iterator ccb_config_iterator
Definition: DTCCBConfig.h:72
DTChamberId::wheel
int wheel() const
Return the wheel number.
Definition: DTChamberId.h:39
DTChamberId::station
int station() const
Return the station number.
Definition: DTChamberId.h:42
DTConfigDBProducer::m_debugTraco
int m_debugTraco
Definition: DTConfigDBProducer.cc:101
DTConfigDBProducer::flagDBLUTS
bool flagDBLUTS
Definition: DTConfigDBProducer.cc:114
DTConfigDBProducer::cfgCache
DTKeyedConfigCache cfgCache
Definition: DTConfigDBProducer.cc:116