CMS 3D CMS Logo

DataMixingEMDigiWorker.h
Go to the documentation of this file.
1 #ifndef SimDataMixingEMDigiWorker_h
2 #define SimDataMixingEMDigiWorker_h
3 
21 
27 
32 
37 
38 #include <map>
39 #include <string>
40 #include <vector>
41 
42 namespace edm {
43  class ModuleCallingContext;
44 
46  public:
48 
51 
53  virtual ~DataMixingEMDigiWorker();
54 
55  void putEM(edm::Event &e, const edm::EventSetup &ES);
56  void addEMSignals(const edm::Event &e, const edm::EventSetup &ES);
57  void addEMPileups(const int bcr,
58  const edm::EventPrincipal *,
59  unsigned int EventId,
60  const edm::EventSetup &ES,
61  ModuleCallingContext const *);
62 
63  private:
65  const std::vector<float> GetPedestals(const edm::EventSetup &ES, const DetId &detid);
66 
68  const std::vector<float> GetGainRatios(const edm::EventSetup &ES, const DetId &detid);
69 
70  // data specifiers
71 
72  edm::InputTag EBProducerSig_; // primary? name given to collection of EB calib digis
73  edm::InputTag EEProducerSig_; // primary? name given to collection of EE calib digis
74  edm::InputTag ESProducerSig_; // primary? name given to collection of ES calib digis
75 
76  edm::InputTag EBdigiCollectionSig_; // secondary name given to collection of
77  // EB calib digis
78  edm::InputTag EEdigiCollectionSig_; // secondary name given to collection of
79  // EE calib digis
80  edm::InputTag ESdigiCollectionSig_; // secondary name given to collection of
81  // ES calib digis
82 
83  edm::InputTag EBPileInputTag_; // complete input tag for EB pileup digis
84  edm::InputTag EEPileInputTag_; // complete input tag for EE pileup digis
85  edm::InputTag ESPileInputTag_; // complete input tag for ES pileup digis
86 
87  edm::EDGetTokenT<EBDigiCollection> EBDigiToken_; // Token to retrieve information
88  edm::EDGetTokenT<EEDigiCollection> EEDigiToken_; // Token to retrieve information
89  edm::EDGetTokenT<ESDigiCollection> ESDigiToken_; // Token to retrieve information
90 
91  edm::EDGetTokenT<EBDigiCollection> EBDigiPileToken_; // Token to retrieve information
92  edm::EDGetTokenT<EEDigiCollection> EEDigiPileToken_; // Token to retrieve information
93  edm::EDGetTokenT<ESDigiCollection> ESDigiPileToken_; // Token to retrieve information
94 
95  std::string EBDigiCollectionDM_; // secondary name to be given to EB
96  // collection of hits
97  std::string EEDigiCollectionDM_; // secondary name to be given to EE
98  // collection of hits
99  std::string ESDigiCollectionDM_; // secondary name to be given to ES
100  // collection of hits
101 
102  typedef std::multimap<DetId, EBDataFrame> EBDigiMap;
103  typedef std::multimap<DetId, EEDataFrame> EEDigiMap;
104  typedef std::multimap<DetId, ESDataFrame> ESDigiMap;
105 
109 
110  // unsigned int eventId_; //=0 for signal, from 1-n for pileup events
111 
113 
116  };
117 } // namespace edm
118 
119 #endif // SimDataMixingEMDigiWorker_h
const std::vector< float > GetGainRatios(const edm::EventSetup &ES, const DetId &detid)
retrieve gain ratios for that detid [0]=g12, [1]=g6, [2]=g12
std::multimap< DetId, ESDataFrame > ESDigiMap
std::multimap< DetId, EBDataFrame > EBDigiMap
edm::EDGetTokenT< EEDigiCollection > EEDigiPileToken_
edm::EDGetTokenT< ESDigiCollection > ESDigiPileToken_
const std::vector< float > GetPedestals(const edm::EventSetup &ES, const DetId &detid)
retrieve pedestals for that detid [0]=g12, [1]=g6, [2]=g12
void addEMPileups(const int bcr, const edm::EventPrincipal *, unsigned int EventId, const edm::EventSetup &ES, ModuleCallingContext const *)
void putEM(edm::Event &e, const edm::EventSetup &ES)
std::multimap< DetId, EEDataFrame > EEDigiMap
Definition: DetId.h:17
edm::ESGetToken< EcalPedestals, EcalPedestalsRcd > pedToken_
HLT enums.
std::tuple< uint32_t, uint32_t, uint32_t > EventId
Event index (L1A/BX/orbit)
Definition: SlinkTypes.h:14
edm::ESGetToken< EcalGainRatios, EcalGainRatiosRcd > grToken_
void addEMSignals(const edm::Event &e, const edm::EventSetup &ES)
edm::EDGetTokenT< EBDigiCollection > EBDigiToken_
edm::EDGetTokenT< ESDigiCollection > ESDigiToken_
edm::EDGetTokenT< EEDigiCollection > EEDigiToken_
edm::EDGetTokenT< EBDigiCollection > EBDigiPileToken_