File indexing completed on 2023-03-17 11:25:07
0001 #ifndef SimDataMixingHcalWorker_h
0002 #define SimDataMixingHcalWorker_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #include "FWCore/Framework/interface/ConsumesCollector.h"
0018 #include "FWCore/Framework/interface/Event.h"
0019 #include "FWCore/Framework/interface/EventPrincipal.h"
0020 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0021
0022 #include "DataFormats/Common/interface/Handle.h"
0023 #include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h"
0024 #include "DataFormats/Provenance/interface/ProductID.h"
0025
0026 #include <map>
0027 #include <string>
0028 #include <vector>
0029
0030 namespace edm {
0031 class ModuleCallingContext;
0032
0033 class DataMixingHcalWorker {
0034 public:
0035 DataMixingHcalWorker();
0036
0037
0038 explicit DataMixingHcalWorker(const edm::ParameterSet &ps, edm::ConsumesCollector &&iC);
0039
0040
0041 virtual ~DataMixingHcalWorker();
0042
0043 void putHcal(edm::Event &e);
0044 void addHcalSignals(const edm::Event &e);
0045 void addHcalPileups(const int bcr, const edm::EventPrincipal *, unsigned int EventId, ModuleCallingContext const *);
0046
0047 private:
0048
0049
0050
0051 edm::InputTag HBHErechitCollectionSig_;
0052
0053 edm::InputTag HOrechitCollectionSig_;
0054
0055 edm::InputTag HFrechitCollectionSig_;
0056
0057 edm::InputTag ZDCrechitCollectionSig_;
0058
0059
0060 edm::InputTag HBHEPileRecHitInputTag_;
0061 edm::InputTag HOPileRecHitInputTag_;
0062 edm::InputTag HFPileRecHitInputTag_;
0063 edm::InputTag ZDCPileRecHitInputTag_;
0064
0065 edm::EDGetTokenT<HBHERecHitCollection> HBHERecHitToken_;
0066 edm::EDGetTokenT<HORecHitCollection> HORecHitToken_;
0067 edm::EDGetTokenT<HFRecHitCollection> HFRecHitToken_;
0068 edm::EDGetTokenT<ZDCRecHitCollection> ZDCRecHitToken_;
0069
0070 edm::EDGetTokenT<HBHERecHitCollection> HBHERecHitPToken_;
0071 edm::EDGetTokenT<HORecHitCollection> HORecHitPToken_;
0072 edm::EDGetTokenT<HFRecHitCollection> HFRecHitPToken_;
0073 edm::EDGetTokenT<ZDCRecHitCollection> ZDCRecHitPToken_;
0074
0075 std::string HBHERecHitCollectionDM_;
0076
0077 std::string HORecHitCollectionDM_;
0078
0079 std::string HFRecHitCollectionDM_;
0080
0081 std::string ZDCRecHitCollectionDM_;
0082
0083
0084 typedef std::multimap<DetId, HBHERecHit> HBHERecHitMap;
0085 typedef std::multimap<DetId, HFRecHit> HFRecHitMap;
0086 typedef std::multimap<DetId, HORecHit> HORecHitMap;
0087 typedef std::multimap<DetId, ZDCRecHit> ZDCRecHitMap;
0088
0089 HBHERecHitMap HBHERecHitStorage_;
0090 HFRecHitMap HFRecHitStorage_;
0091 HORecHitMap HORecHitStorage_;
0092 ZDCRecHitMap ZDCRecHitStorage_;
0093
0094
0095
0096 std::string label_;
0097 };
0098 }
0099
0100 #endif