CMS 3D CMS Logo

List of all members | Public Member Functions
MixingWorker Class Reference

#include <MixingWorker.h>

Public Member Functions

template<>
void addPileups (const EventPrincipal &ep, ModuleCallingContext const *, unsigned int eventNr)
 
template<>
void addPileups (const EventPrincipal &ep, ModuleCallingContext const *mcc, unsigned int eventNr)
 
template<>
void addSignals (const Event &e)
 
template<>
bool checkSignal (const Event &e)
 

Detailed Description

MixingWorker is an auxiliary class for the MixingModule

Author
Ursula Berthon, LLR Palaiseau
Version
1st Version JMarch 2008

Member Function Documentation

◆ addPileups() [1/2]

template<>
void MixingWorker< HepMCProduct >::addPileups ( const EventPrincipal &  ep,
ModuleCallingContext const *  ,
unsigned int  eventNr 
)

◆ addPileups() [2/2]

template<>
void MixingWorker< HepMCProduct >::addPileups ( const EventPrincipal &  ep,
ModuleCallingContext const *  mcc,
unsigned int  eventNr 
)

Definition at line 12 of file MixingWorker.cc.

14  {
15  // HepMCProduct does not come as a vector....
16  for (InputTag const& tag : allTags_) {
17  std::shared_ptr<Wrapper<HepMCProduct> const> shPtr = getProductByTag<HepMCProduct>(ep, tag, mcc);
18  if (shPtr) {
19  LogDebug("MixingModule") << "HepMC pileup objects added, eventNr " << eventNr << " Tag " << tag << std::endl;
20  crFrame_->setPileupPtr(shPtr);
21  crFrame_->addPileups(*shPtr->product());
22  break;
23  }
24  }
25  }

References SiStripBadComponentsDQMServiceTemplate_cfg::ep, HLT_2018_cff::InputTag, LogDebug, and GlobalPosition_Frontier_DevDB_cff::tag.

◆ addSignals()

template<>
void MixingWorker< HepMCProduct >::addSignals ( const Event e)

Definition at line 28 of file MixingWorker.cc.

28  {
29  //HepMC - here the interface is different!!!
30  bool got = false;
31  Handle<HepMCProduct> result_t;
32  for (InputTag const& tag : allTags_) {
33  got = e.getByLabel(tag, result_t);
34  if (got) {
35  LogDebug("MixingModule") << "adding HepMCProduct from signal event with " << tag;
36  crFrame_->addSignals(result_t.product(), e.id());
37  break;
38  }
39  }
40  if (!got) {
41  LogInfo("MixingModule") << "!!!!!!! Did not get any signal data for HepMCProduct with " << allTags_[0];
42  }
43  }

References MillePedeFileConverter_cfg::e, HLT_2018_cff::InputTag, LogDebug, and GlobalPosition_Frontier_DevDB_cff::tag.

◆ checkSignal()

template<>
bool MixingWorker< HepMCProduct >::checkSignal ( const Event e)

Definition at line 46 of file MixingWorker.cc.

46  {
47  bool got = false;
48  Handle<HepMCProduct> result_t;
49  for (InputTag const& tag : allTags_) {
50  got = e.getByLabel(tag, result_t);
51  if (got) {
52  InputTag t = InputTag(tag.label(), tag.instance());
53  LogInfo("MixingModule") << " Will create a CrossingFrame for HepMCProduct with "
54  << " with InputTag= " << t.encode();
55  break;
56  }
57  }
58  return got;
59  }

References MillePedeFileConverter_cfg::e, HLT_2018_cff::InputTag, OrderedSet::t, and GlobalPosition_Frontier_DevDB_cff::tag.

Handle
GlobalPosition_Frontier_DevDB_cff.tag
tag
Definition: GlobalPosition_Frontier_DevDB_cff.py:11
OrderedSet.t
t
Definition: OrderedSet.py:90
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
SiStripBadComponentsDQMServiceTemplate_cfg.ep
ep
Definition: SiStripBadComponentsDQMServiceTemplate_cfg.py:86
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37