CMS 3D CMS Logo

ConditionDumperInEdm.cc
Go to the documentation of this file.
2 #include <memory>
3 
5 
8 
11 
12 //
13 // constructors and destructor
14 //
16  : gtEvmDigisLabel_{iConfig.getParameter<edm::InputTag>("gtEvmDigisLabel")},
17  gtEvmDigisLabelToken_{consumes<L1GlobalTriggerEvmReadoutRecord>(gtEvmDigisLabel_)},
18  //per LUMI products
19  lumiToken_{produces<edm::ConditionsInLumiBlock, edm::Transition::EndLuminosityBlock>()},
20  //per RUN products
21  runToken_{produces<edm::ConditionsInRunBlock, edm::Transition::EndRun>()},
22  //per EVENT products
23  eventToken_{produces<edm::ConditionsInEventBlock>()} {}
24 
26 
27 //
28 // member functions
29 //
30 std::shared_ptr<edm::ConditionsInLumiBlock> ConditionDumperInEdm::globalBeginLuminosityBlock(
31  edm::LuminosityBlock const&, edm::EventSetup const&) const {
32  return std::make_shared<edm::ConditionsInLumiBlock>();
33 }
34 
36  lumi.emplace(lumiToken_, std::move(*luminosityBlockCache(lumi.index())));
37 }
38 
39 std::shared_ptr<edm::ConditionsInRunBlock> ConditionDumperInEdm::globalBeginRun(edm::Run const&,
40  const edm::EventSetup&) const {
41  return std::make_shared<edm::ConditionsInRunBlock>();
42 }
43 
45  //dump of RunInfo
46  auto& runBlock = *(runCache(run.index()));
47  {
49  setup.get<RunInfoRcd>().get(sum);
50  runBlock.BStartCurrent = sum->m_start_current;
51  runBlock.BStopCurrent = sum->m_stop_current;
52  runBlock.BAvgCurrent = sum->m_avg_current;
53  }
54 
55  run.emplace(runToken_, std::move(runBlock));
56 }
57 
58 // ------------ method called to produce the data ------------
60  //get the L1 object
62  iEvent.getByToken(gtEvmDigisLabelToken_, gtReadoutRecordData);
63 
64  if (!gtReadoutRecordData.isValid()) {
65  LogDebug("ConditionDumperInEdm") << "\nWarning: L1GlobalTriggerEvmReadoutRecord with input tag " << gtEvmDigisLabel_
66  << "\nrequested in configuration, but not found in the event."
67  << "\nNo BST quantities retrieved." << std::endl;
68 
70 
71  return;
72  }
73 
74  const L1GtfeExtWord& gtfeBlockData = gtReadoutRecordData->gtfeWord();
75 
76  //lumi info
77  auto& lumiBlock = *luminosityBlockCache(iEvent.getLuminosityBlock().index());
78  lumiBlock.totalIntensityBeam1 = gtfeBlockData.totalIntensityBeam1();
79  lumiBlock.totalIntensityBeam2 = gtfeBlockData.totalIntensityBeam2();
80 
81  //run info
82  auto& runBlock = *runCache(iEvent.getRun().index());
83  runBlock.beamMomentum = gtfeBlockData.beamMomentum();
84  runBlock.beamMode = gtfeBlockData.beamMode();
85  runBlock.lhcFillNumber = gtfeBlockData.lhcFillNumber();
86 
87  //event info
90 
92 }
#define LogDebug(id)
T getParameter(std::string const &) const
LuminosityBlockIndex index() const
const edm::EDGetTokenT< L1GlobalTriggerEvmReadoutRecord > gtEvmDigisLabelToken_
const edm::InputTag gtEvmDigisLabel_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
void emplace(EDPutTokenT< PROD > token, Args &&...args)
puts a new product
Definition: Run.h:245
const L1GtfeExtWord gtfeWord() const
get / set GTFE word (record) in the GT readout record
std::shared_ptr< edm::ConditionsInRunBlock > globalBeginRun(edm::Run const &, const edm::EventSetup &) const final
const edm::EDPutTokenT< edm::ConditionsInEventBlock > eventToken_
Run const & getRun() const
Definition: Event.cc:108
void emplace(EDPutTokenT< PROD > token, Args &&...args)
puts a new product
const cms_uint16_t bstMasterStatus() const
const cms_uint16_t beamMomentum() const
int iEvent
Definition: GenABIO.cc:224
void endRunProduce(edm::Run &, const edm::EventSetup &) final
RunIndex index() const
Definition: Run.cc:21
const edm::EDPutTokenT< edm::ConditionsInLumiBlock > lumiToken_
LuminosityBlock const & getLuminosityBlock() const
Definition: Event.h:98
std::shared_ptr< edm::ConditionsInLumiBlock > globalBeginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) const final
ConditionDumperInEdm(const edm::ParameterSet &)
bool isValid() const
Definition: HandleBase.h:70
float m_stop_current
Definition: RunInfo.h:27
const cms_uint32_t totalIntensityBeam2() const
const cms_uint32_t totalIntensityBeam1() const
OrphanHandle< PROD > emplace(EDPutTokenT< PROD > token, Args &&...args)
puts a new product
Definition: Event.h:421
edm::ConditionsInEventBlock eventBlock_
const cms_uint32_t lhcFillNumber() const
float m_avg_current
Definition: RunInfo.h:28
float m_start_current
Definition: RunInfo.h:26
T get() const
Definition: EventSetup.h:73
void produce(edm::Event &, const edm::EventSetup &) final
void endLuminosityBlockProduce(edm::LuminosityBlock &, edm::EventSetup const &) final
const cms_uint32_t turnCountNumber() const
const cms_uint16_t beamMode() const
const edm::EDPutTokenT< edm::ConditionsInRunBlock > runToken_
def move(src, dest)
Definition: eostools.py:511
Definition: Run.h:45