19 getAllProvenances(
false),
20 printProvenanceInfo(
false),
30 std::string MsgLoggerCat =
"GlobalHitsProducer_GlobalHitsProducer";
96 produces<PGlobalSimHit>(
label);
101 <<
"\n===============================\n" 102 <<
"Initialized as EDProducer with parameter values:\n" 103 <<
" Name = " <<
fName <<
"\n" 106 <<
" VtxUnit = " <<
vtxunit <<
"\n" 107 <<
" Label = " <<
label <<
"\n" 129 <<
"===============================\n";
141 std::string MsgLoggerCat =
"GlobalHitsProducer_endJob";
143 edm::LogInfo(MsgLoggerCat) <<
"Terminating having processed " <<
count <<
" events.";
148 std::string MsgLoggerCat =
"GlobalHitsProducer_produce";
158 edm::LogInfo(MsgLoggerCat) <<
"Processing run " << nrun <<
", event " <<
nevt <<
" (" <<
count <<
" events total)";
171 std::vector<const edm::StableProvenance *> AllProv;
172 iEvent.getAllStableProvenance(AllProv);
175 edm::LogInfo(MsgLoggerCat) <<
"Number of Provenances = " << AllProv.size();
178 TString eventout(
"\nProvenance info:\n");
180 for (
unsigned int i = 0;
i < AllProv.size(); ++
i) {
181 eventout +=
"\n ******************************";
182 eventout +=
"\n Module : ";
183 eventout += AllProv[
i]->moduleLabel();
184 eventout +=
"\n ProductID : ";
185 eventout += AllProv[
i]->productID().id();
186 eventout +=
"\n ClassName : ";
187 eventout += AllProv[
i]->className();
188 eventout +=
"\n InstanceName : ";
189 eventout += AllProv[
i]->productInstanceName();
190 eventout +=
"\n BranchName : ";
191 eventout += AllProv[
i]->branchName();
193 eventout +=
"\n ******************************\n";
213 edm::LogInfo(MsgLoggerCat) <<
"Done gathering data from event.";
241 std::string MsgLoggerCat =
"GlobalHitsProducer_fillG4MC";
245 eventout =
"\nGathering info:";
251 std::vector<edm::Handle<edm::HepMCProduct>> AllHepMCEvt;
254 throw cms::Exception(
"UnsupportedFunction") <<
"GlobalHitsProducer::fillG4MC: " 255 <<
"getManyByType has not been supported by the Framework since 2015. " 256 <<
"This module has been broken since then. Maybe it should be deleted. " 257 <<
"Another possibility is to upgrade to use GetterOfProducts instead.";
261 for (
unsigned int i = 0;
i < AllHepMCEvt.size(); ++
i) {
262 HepMCEvt = AllHepMCEvt[
i];
268 edm::LogWarning(MsgLoggerCat) <<
"Unable to find HepMCProduct in event!";
271 eventout +=
"\n Using HepMCProduct: ";
278 eventout +=
"\n Number of Raw Particles collected:......... ";
294 if (!G4VtxContainer.
isValid()) {
299 edm::SimVertexContainer::const_iterator itVtx;
300 for (itVtx = G4VtxContainer->begin(); itVtx != G4VtxContainer->end(); ++itVtx) {
304 itVtx->position().x(), itVtx->position().y(), itVtx->position().z(), itVtx->position().e());
306 G4Vtx1.GetCoordinates(G4Vtx);
308 G4VtxX.push_back((G4Vtx[0] *
unit) / micrometer);
309 G4VtxY.push_back((G4Vtx[1] *
unit) / micrometer);
310 G4VtxZ.push_back((G4Vtx[2] *
unit) / millimeter);
314 eventout +=
"\n Number of G4Vertices collected:............ ";
324 if (!G4TrkContainer.
isValid()) {
329 edm::SimTrackContainer::const_iterator itTrk;
330 for (itTrk = G4TrkContainer->begin(); itTrk != G4TrkContainer->end(); ++itTrk) {
334 itTrk->momentum().x(), itTrk->momentum().y(), itTrk->momentum().z(), itTrk->momentum().e());
336 G4Trk1.GetCoordinates(G4Trk);
338 G4TrkPt.push_back(
sqrt(G4Trk[0] * G4Trk[0] + G4Trk[1] * G4Trk[1]));
339 G4TrkE.push_back(G4Trk[3]);
343 eventout +=
"\n Number of G4Tracks collected:.............. ";
354 std::string MsgLoggerCat =
"GlobalHitsProducer_storeG4MC";
357 TString eventout(
"\n nRawGenPart = ");
359 eventout +=
"\n nG4Vtx = ";
360 eventout +=
G4VtxX.size();
361 for (
unsigned int i = 0;
i <
G4VtxX.size(); ++
i) {
362 eventout +=
"\n (x,y,z) = (";
370 eventout +=
"\n nG4Trk = ";
372 for (
unsigned int i = 0;
i <
G4TrkPt.size(); ++
i) {
373 eventout +=
"\n (pt,e) = (";
390 std::string MsgLoggerCat =
"GlobalHitsProducer_fillTrk";
394 eventout =
"\nGathering info:";
398 if (!theTrackerGeometry.isValid()) {
399 edm::LogWarning(MsgLoggerCat) <<
"Unable to find TrackerDigiGeometryRecord in event!";
405 edm::PSimHitContainer::const_iterator itHit;
414 if (!PxlBrlLowContainer.
isValid()) {
415 edm::LogWarning(MsgLoggerCat) <<
"Unable to find TrackerHitsPixelBarrelLowTof in event!";
421 if (!PxlBrlHighContainer.
isValid()) {
422 edm::LogWarning(MsgLoggerCat) <<
"Unable to find TrackerHitsPixelBarrelHighTof in event!";
426 thePxlBrlHits.insert(thePxlBrlHits.end(), PxlBrlLowContainer->begin(), PxlBrlLowContainer->end());
427 thePxlBrlHits.insert(thePxlBrlHits.end(), PxlBrlHighContainer->begin(), PxlBrlHighContainer->end());
431 for (itHit = thePxlBrlHits.begin(); itHit != thePxlBrlHits.end(); ++itHit) {
435 DetId theDetUnitId(itHit->detUnitId());
445 edm::LogWarning(MsgLoggerCat) <<
"Unable to get GeomDetUnit from PxlBrlHits for Hit " <<
i;
456 PxlBrlR.push_back(bSurface.toGlobal(itHit->localPosition()).
perp());
457 PxlBrlPhi.push_back(bSurface.toGlobal(itHit->localPosition()).
phi());
458 PxlBrlEta.push_back(bSurface.toGlobal(itHit->localPosition()).
eta());
461 edm::LogWarning(MsgLoggerCat) <<
"PxlBrl PSimHit " <<
i <<
" is expected to be (det,subdet) = (" <<
dTrk <<
"," 468 eventout +=
"\n Number of Pixel Barrel Hits collected:..... ";
479 if (!PxlFwdLowContainer.
isValid()) {
480 edm::LogWarning(MsgLoggerCat) <<
"Unable to find TrackerHitsPixelEndcapLowTof in event!";
486 if (!PxlFwdHighContainer.
isValid()) {
487 edm::LogWarning(
"GlobalHitsProducer_fillTrk") <<
"Unable to find TrackerHitsPixelEndcapHighTof in event!";
491 thePxlFwdHits.insert(thePxlFwdHits.end(), PxlFwdLowContainer->begin(), PxlFwdLowContainer->end());
492 thePxlFwdHits.insert(thePxlFwdHits.end(), PxlFwdHighContainer->begin(), PxlFwdHighContainer->end());
497 for (itHit = thePxlFwdHits.begin(); itHit != thePxlFwdHits.end(); ++itHit) {
501 DetId theDetUnitId(itHit->detUnitId());
511 edm::LogWarning(MsgLoggerCat) <<
"Unable to get GeomDetUnit from PxlFwdHits for Hit " <<
i;
523 PxlFwdZ.push_back(bSurface.toGlobal(itHit->localPosition()).
z());
524 PxlFwdPhi.push_back(bSurface.toGlobal(itHit->localPosition()).
phi());
525 PxlFwdEta.push_back(bSurface.toGlobal(itHit->localPosition()).
eta());
527 edm::LogWarning(MsgLoggerCat) <<
"PxlFwd PSimHit " <<
i <<
" is expected to be (det,subdet) = (" <<
dTrk <<
"," 534 eventout +=
"\n Number of Pixel Forward Hits collected:.... ";
545 if (!SiTIBLowContainer.
isValid()) {
546 edm::LogWarning(MsgLoggerCat) <<
"Unable to find TrackerHitsTIBLowTof in event!";
552 if (!SiTIBHighContainer.
isValid()) {
553 edm::LogWarning(MsgLoggerCat) <<
"Unable to find TrackerHitsTIBHighTof in event!";
559 if (!SiTOBLowContainer.
isValid()) {
560 edm::LogWarning(MsgLoggerCat) <<
"Unable to find TrackerHitsTOBLowTof in event!";
566 if (!SiTOBHighContainer.
isValid()) {
567 edm::LogWarning(MsgLoggerCat) <<
"Unable to find TrackerHitsTOBHighTof in event!";
571 theSiBrlHits.insert(theSiBrlHits.end(), SiTIBLowContainer->begin(), SiTIBLowContainer->end());
572 theSiBrlHits.insert(theSiBrlHits.end(), SiTIBHighContainer->begin(), SiTIBHighContainer->end());
573 theSiBrlHits.insert(theSiBrlHits.end(), SiTOBLowContainer->begin(), SiTOBLowContainer->end());
574 theSiBrlHits.insert(theSiBrlHits.end(), SiTOBHighContainer->begin(), SiTOBHighContainer->end());
579 for (itHit = theSiBrlHits.begin(); itHit != theSiBrlHits.end(); ++itHit) {
583 DetId theDetUnitId(itHit->detUnitId());
593 edm::LogWarning(MsgLoggerCat) <<
"Unable to get GeomDetUnit from SiBrlHits for Hit " <<
i;
604 SiBrlR.push_back(bSurface.toGlobal(itHit->localPosition()).
perp());
605 SiBrlPhi.push_back(bSurface.toGlobal(itHit->localPosition()).
phi());
606 SiBrlEta.push_back(bSurface.toGlobal(itHit->localPosition()).
eta());
608 edm::LogWarning(MsgLoggerCat) <<
"SiBrl PSimHit " <<
i <<
" is expected to be (det,subdet) = (" <<
dTrk <<
"," 616 eventout +=
"\n Number of Silicon Barrel Hits collected:... ";
627 if (!SiTIDLowContainer.
isValid()) {
628 edm::LogWarning(MsgLoggerCat) <<
"Unable to find TrackerHitsTIDLowTof in event!";
634 if (!SiTIDHighContainer.
isValid()) {
635 edm::LogWarning(
"GlobalHitsProducer_fillTrk") <<
"Unable to find TrackerHitsTIDHighTof in event!";
641 if (!SiTECLowContainer.
isValid()) {
642 edm::LogWarning(MsgLoggerCat) <<
"Unable to find TrackerHitsTECLowTof in event!";
648 if (!SiTECHighContainer.
isValid()) {
649 edm::LogWarning(MsgLoggerCat) <<
"Unable to find TrackerHitsTECHighTof in event!";
653 theSiFwdHits.insert(theSiFwdHits.end(), SiTIDLowContainer->begin(), SiTIDLowContainer->end());
654 theSiFwdHits.insert(theSiFwdHits.end(), SiTIDHighContainer->begin(), SiTIDHighContainer->end());
655 theSiFwdHits.insert(theSiFwdHits.end(), SiTECLowContainer->begin(), SiTECLowContainer->end());
656 theSiFwdHits.insert(theSiFwdHits.end(), SiTECHighContainer->begin(), SiTECHighContainer->end());
661 for (itHit = theSiFwdHits.begin(); itHit != theSiFwdHits.end(); ++itHit) {
665 DetId theDetUnitId(itHit->detUnitId());
675 edm::LogWarning(MsgLoggerCat) <<
"Unable to get GeomDetUnit from SiFwdHits Hit " <<
i;
686 SiFwdZ.push_back(bSurface.toGlobal(itHit->localPosition()).
z());
687 SiFwdPhi.push_back(bSurface.toGlobal(itHit->localPosition()).
phi());
688 SiFwdEta.push_back(bSurface.toGlobal(itHit->localPosition()).
eta());
690 edm::LogWarning(MsgLoggerCat) <<
"SiFwd PSimHit " <<
i <<
" is expected to be (det,subdet) = (" <<
dTrk <<
"," 698 eventout +=
"\n Number of Silicon Forward Hits collected:.. ";
709 std::string MsgLoggerCat =
"GlobalHitsProducer_storeTrk";
712 TString eventout(
"\n nPxlBrlHits = ");
715 eventout +=
"\n (tof,r,phi,eta) = (";
725 eventout +=
"\n nPxlFwdHits = ";
728 eventout +=
"\n (tof,z,phi,eta) = (";
738 eventout +=
"\n nSiBrlHits = ";
740 for (
unsigned int i = 0;
i <
SiBrlToF.size(); ++
i) {
741 eventout +=
"\n (tof,r,phi,eta) = (";
751 eventout +=
"\n nSiFwdHits = ";
753 for (
unsigned int i = 0;
i <
SiFwdToF.size(); ++
i) {
754 eventout +=
"\n (tof,z,phi,eta) = (";
776 std::string MsgLoggerCat =
"GlobalHitsProducer_fillMuon";
780 eventout =
"\nGathering info:";
783 edm::PSimHitContainer::const_iterator itHit;
791 if (!theCSCGeometry.isValid()) {
792 edm::LogWarning(MsgLoggerCat) <<
"Unable to find MuonGeometryRecord for the CSCGeometry in event!";
800 if (!MuonCSCContainer.
isValid()) {
801 edm::LogWarning(MsgLoggerCat) <<
"Unable to find MuonCSCHits in event!";
807 for (itHit = MuonCSCContainer->begin(); itHit != MuonCSCContainer->end(); ++itHit) {
811 DetId theDetUnitId(itHit->detUnitId());
821 edm::LogWarning(MsgLoggerCat) <<
"Unable to get GeomDetUnit from theCSCMuon for hit " <<
i;
832 MuonCscZ.push_back(bSurface.toGlobal(itHit->localPosition()).
z());
833 MuonCscPhi.push_back(bSurface.toGlobal(itHit->localPosition()).
phi());
834 MuonCscEta.push_back(bSurface.toGlobal(itHit->localPosition()).
eta());
836 edm::LogWarning(MsgLoggerCat) <<
"MuonCsc PSimHit " <<
i <<
" is expected to be (det,subdet) = (" <<
dMuon <<
"," 843 eventout +=
"\n Number of CSC muon Hits collected:......... ";
853 if (!theDTGeometry.isValid()) {
854 edm::LogWarning(MsgLoggerCat) <<
"Unable to find MuonGeometryRecord for the DTGeometry in event!";
862 if (!MuonDtContainer.
isValid()) {
863 edm::LogWarning(MsgLoggerCat) <<
"Unable to find MuonDTHits in event!";
869 for (itHit = MuonDtContainer->begin(); itHit != MuonDtContainer->end(); ++itHit) {
873 DetId theDetUnitId(itHit->detUnitId());
881 DTWireId wireId(itHit->detUnitId());
884 const DTLayer *theDet = theDTMuon.
layer(wireId.layerId());
887 edm::LogWarning(MsgLoggerCat) <<
"Unable to get GeomDetUnit from theDtMuon for hit " <<
i;
894 const BoundPlane &bSurface = theDet->surface();
898 MuonDtR.push_back(bSurface.toGlobal(itHit->localPosition()).
perp());
899 MuonDtPhi.push_back(bSurface.toGlobal(itHit->localPosition()).
phi());
900 MuonDtEta.push_back(bSurface.toGlobal(itHit->localPosition()).
eta());
902 edm::LogWarning(MsgLoggerCat) <<
"MuonDt PSimHit " <<
i <<
" is expected to be (det,subdet) = (" <<
dMuon <<
"," 909 eventout +=
"\n Number of DT muon Hits collected:.......... ";
920 if (!theRPCGeometry.isValid()) {
921 edm::LogWarning(MsgLoggerCat) <<
"Unable to find MuonGeometryRecord for the RPCGeometry in event!";
929 if (!MuonRPCContainer.
isValid()) {
930 edm::LogWarning(MsgLoggerCat) <<
"Unable to find MuonRPCHits in event!";
936 int RPCBrl = 0, RPCFwd = 0;
937 for (itHit = MuonRPCContainer->begin(); itHit != MuonRPCContainer->end(); ++itHit) {
941 DetId theDetUnitId(itHit->detUnitId());
951 int region = RPCId.region();
957 edm::LogWarning(MsgLoggerCat) <<
"Unable to get GeomDetUnit from theRPCMuon for hit " <<
i;
971 MuonRpcFwdZ.push_back(bSurface.toGlobal(itHit->localPosition()).
z());
978 MuonRpcBrlR.push_back(bSurface.toGlobal(itHit->localPosition()).
perp());
986 edm::LogWarning(MsgLoggerCat) <<
"MuonRpc PSimHit " <<
i <<
" is expected to be (det,subdet) = (" <<
dMuon <<
"," 993 eventout +=
"\n Number of RPC muon Hits collected:......... ";
995 eventout +=
"\n RPC Barrel muon Hits:............ ";
997 eventout +=
"\n RPC Forward muon Hits:........... ";
1008 std::string MsgLoggerCat =
"GlobalHitsProducer_storeMuon";
1011 TString eventout(
"\n nMuonCSCHits = ");
1014 eventout +=
"\n (tof,z,phi,eta) = (";
1024 eventout +=
"\n nMuonDtHits = ";
1027 eventout +=
"\n (tof,r,phi,eta) = (";
1037 eventout +=
"\n nMuonRpcBrlHits = ";
1040 eventout +=
"\n (tof,r,phi,eta) = (";
1050 eventout +=
"\n nMuonRpcFwdHits = ";
1053 eventout +=
"\n (tof,z,phi,eta) = (";
1075 std::string MsgLoggerCat =
"GlobalHitsProducer_fillECal";
1079 eventout =
"\nGathering info:";
1083 if (!theCaloGeometry.isValid()) {
1084 edm::LogWarning(MsgLoggerCat) <<
"Unable to find CaloGeometryRecord in event!";
1090 edm::PCaloHitContainer::const_iterator itHit;
1100 edm::LogWarning(MsgLoggerCat) <<
"Unable to find EcalHitsEB in event!";
1107 edm::LogWarning(MsgLoggerCat) <<
"Unable to find EcalHitsEE in event!";
1111 theECalHits.insert(theECalHits.end(), EBContainer->begin(), EBContainer->end());
1112 theECalHits.insert(theECalHits.end(), EEContainer->begin(), EEContainer->end());
1116 for (itHit = theECalHits.begin(); itHit != theECalHits.end(); ++itHit) {
1120 DetId theDetUnitId(itHit->id());
1130 edm::LogWarning(MsgLoggerCat) <<
"Unable to get CaloCellGeometry from ECalHits for Hit " <<
i;
1137 const GlobalPoint &globalposition = theDet->getPosition();
1140 ECalE.push_back(itHit->energy());
1141 ECalToF.push_back(itHit->time());
1146 edm::LogWarning(MsgLoggerCat) <<
"ECal PCaloHit " <<
i <<
" is expected to be (det,subdet) = (" <<
dEcal <<
"," 1154 eventout +=
"\n Number of ECal Hits collected:............. ";
1164 if (!PreShContainer.
isValid()) {
1165 edm::LogWarning(MsgLoggerCat) <<
"Unable to find EcalHitsES in event!";
1171 for (itHit = PreShContainer->begin(); itHit != PreShContainer->end(); ++itHit) {
1175 DetId theDetUnitId(itHit->id());
1185 edm::LogWarning(MsgLoggerCat) <<
"Unable to get CaloCellGeometry from PreShContainer for Hit " <<
i;
1192 const GlobalPoint &globalposition = theDet->getPosition();
1195 PreShE.push_back(itHit->energy());
1201 edm::LogWarning(MsgLoggerCat) <<
"PreSh PCaloHit " <<
i <<
" is expected to be (det,subdet) = (" <<
dEcal <<
"," 1208 eventout +=
"\n Number of PreSh Hits collected:............ ";
1219 std::string MsgLoggerCat =
"GlobalHitsProducer_storeECal";
1222 TString eventout(
"\n nECalHits = ");
1223 eventout +=
ECalE.size();
1224 for (
unsigned int i = 0;
i <
ECalE.size(); ++
i) {
1225 eventout +=
"\n (e,tof,phi,eta) = (";
1235 eventout +=
"\n nPreShHits = ";
1236 eventout +=
PreShE.size();
1237 for (
unsigned int i = 0;
i <
PreShE.size(); ++
i) {
1238 eventout +=
"\n (e,tof,phi,eta) = (";
1258 std::string MsgLoggerCat =
"GlobalHitsProducer_fillHCal";
1262 eventout =
"\nGathering info:";
1266 if (!theCaloGeometry.isValid()) {
1267 edm::LogWarning(MsgLoggerCat) <<
"Unable to find CaloGeometryRecord in event!";
1273 edm::PCaloHitContainer::const_iterator itHit;
1281 if (!HCalContainer.
isValid()) {
1288 for (itHit = HCalContainer->begin(); itHit != HCalContainer->end(); ++itHit) {
1292 DetId theDetUnitId(itHit->id());
1303 edm::LogWarning(MsgLoggerCat) <<
"Unable to get CaloCellGeometry from HCalContainer for Hit " <<
i;
1313 HCalE.push_back(itHit->energy());
1314 HCalToF.push_back(itHit->time());
1319 edm::LogWarning(MsgLoggerCat) <<
"HCal PCaloHit " <<
i <<
" is expected to be (det,subdet) = (" <<
dHcal <<
"," 1327 eventout +=
"\n Number of HCal Hits collected:............. ";
1338 std::string MsgLoggerCat =
"GlobalHitsProducer_storeHCal";
1341 TString eventout(
"\n nHCalHits = ");
1342 eventout +=
HCalE.size();
1343 for (
unsigned int i = 0;
i <
HCalE.size(); ++
i) {
1344 eventout +=
"\n (e,tof,phi,eta) = (";
1363 std::string MsgLoggerCat =
"GlobalHitsProducer_clear";
1366 edm::LogInfo(MsgLoggerCat) <<
"Clearing event holders";
void storeECal(PGlobalSimHit &)
edm::EDGetTokenT< edm::PSimHitContainer > SiTIBHighSrc_Token_
T getParameter(std::string const &) const
edm::EDGetTokenT< edm::PSimHitContainer > SiTECHighSrc_Token_
std::vector< PCaloHit > PCaloHitContainer
static const int sdMuonRPCRgnFwdn
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
void produce(edm::Event &, const edm::EventSetup &) override
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > caloGeomToken_
static const int sdHcalOut
void putHCalHits(const std::vector< float > &e, const std::vector< float > &tof, const std::vector< float > &phi, const std::vector< float > &eta)
edm::ESGetToken< CSCGeometry, MuonGeometryRecord > cscGeomToken_
static const int sdMuonDT
edm::EDGetTokenT< edm::PSimHitContainer > MuonRpcSrc_Token_
edm::InputTag MuonCscSrc_
void putMuonRpcFwdHits(const std::vector< float > &tof, const std::vector< float > &z, const std::vector< float > &phi, const std::vector< float > &eta)
Geom::Phi< T > phi() const
void putMuonRpcBrlHits(const std::vector< float > &tof, const std::vector< float > &r, const std::vector< float > &phi, const std::vector< float > &eta)
edm::InputTag SiTOBHighSrc_
edm::InputTag PxlBrlHighSrc_
edm::InputTag PxlBrlLowSrc_
unsigned long long EventNumber_t
static const int sdEcalPS
void putMuonCscHits(const std::vector< float > &tof, const std::vector< float > &z, const std::vector< float > &phi, const std::vector< float > &eta)
void putECalHits(const std::vector< float > &e, const std::vector< float > &tof, const std::vector< float > &phi, const std::vector< float > &eta)
void storeMuon(PGlobalSimHit &)
const GeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
edm::InputTag PxlFwdLowSrc_
static const int sdMuonRPC
void storeG4MC(PGlobalSimHit &)
FloatVector MuonRpcFwdPhi
Provenance const * provenance() const
edm::EDGetTokenT< edm::PSimHitContainer > PxlBrlHighSrc_Token_
edm::InputTag SiTIDLowSrc_
void storeTrk(PGlobalSimHit &)
FloatVector MuonRpcFwdToF
void beginJob(void) override
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< edm::PSimHitContainer > PxlFwdHighSrc_Token_
edm::InputTag SiTECHighSrc_
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
edm::EDGetTokenT< edm::PSimHitContainer > SiTIBLowSrc_Token_
void fillMuon(edm::Event &, const edm::EventSetup &)
void putG4Trk(const std::vector< float > &pt, const std::vector< float > &e)
edm::EDGetTokenT< edm::PCaloHitContainer > HCalSrc_Token_
edm::EDGetTokenT< edm::PSimHitContainer > MuonCscSrc_Token_
GlobalHitsProducer(const edm::ParameterSet &)
static const int sdPxlBrl
FloatVector MuonRpcBrlToF
void putSiBrlHits(const std::vector< float > &tof, const std::vector< float > &r, const std::vector< float > &phi, const std::vector< float > &eta)
static const int sdMuonCSC
void putPxlFwdHits(const std::vector< float > &tof, const std::vector< float > &z, const std::vector< float > &phi, const std::vector< float > &eta)
static const int sdEcalFwd
void fillTrk(edm::Event &, const edm::EventSetup &)
edm::InputTag SiTIBLowSrc_
edm::EDGetTokenT< edm::PSimHitContainer > SiTIDLowSrc_Token_
edm::InputTag SiTECLowSrc_
BranchDescription const & branchDescription() const
static const int sdEcalBrl
static const int sdMuonRPCRgnFwdp
static const int sdMuonRPCRgnBrl
edm::InputTag SiTIDHighSrc_
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > tGeomToken_
edm::EDGetTokenT< edm::PSimHitContainer > SiTOBLowSrc_Token_
void putSiFwdHits(const std::vector< float > &tof, const std::vector< float > &z, const std::vector< float > &phi, const std::vector< float > &eta)
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
T perp() const
Magnitude of transverse component.
Basic3DVector unit() const
edm::EDGetTokenT< edm::SimTrackContainer > G4TrkSrc_Token_
edm::InputTag PxlFwdHighSrc_
const HepMC::GenEvent * GetEvent() const
edm::EDGetTokenT< edm::PCaloHitContainer > ECalESSrc_Token_
FloatVector MuonRpcFwdEta
Log< level::Info, false > LogInfo
edm::EDGetTokenT< edm::PSimHitContainer > SiTOBHighSrc_Token_
const Plane & surface() const
The nominal surface of the GeomDet.
void putPreShHits(const std::vector< float > &e, const std::vector< float > &tof, const std::vector< float > &phi, const std::vector< float > &eta)
void fillECal(edm::Event &, const edm::EventSetup &)
void fillHCal(edm::Event &, const edm::EventSetup &)
edm::ESGetToken< RPCGeometry, MuonGeometryRecord > rpcGeomToken_
std::vector< SimVertex > SimVertexContainer
edm::EDGetTokenT< edm::PSimHitContainer > SiTIDHighSrc_Token_
static const int sdHcalFwd
FloatVector MuonRpcBrlEta
static const int sdHcalBrl
void storeHCal(PGlobalSimHit &)
edm::InputTag SiTOBLowSrc_
edm::EDGetTokenT< edm::PSimHitContainer > PxlFwdLowSrc_Token_
edm::EDGetTokenT< edm::PSimHitContainer > MuonDtSrc_Token_
edm::EDGetTokenT< edm::PSimHitContainer > PxlBrlLowSrc_Token_
edm::EDGetTokenT< edm::SimVertexContainer > G4VtxSrc_Token_
edm::EDGetTokenT< edm::PCaloHitContainer > ECalEBSrc_Token_
edm::EDGetTokenT< edm::PCaloHitContainer > ECalEESrc_Token_
GlobalPoint getPosition(const DetId &id) const
void putPxlBrlHits(const std::vector< float > &tof, const std::vector< float > &r, const std::vector< float > &phi, const std::vector< float > &eta)
void putRawGenPart(int n)
~GlobalHitsProducer() override
void putG4Vtx(const std::vector< float > &x, const std::vector< float > &y, const std::vector< float > &z)
void fillG4MC(edm::Event &)
void putMuonDtHits(const std::vector< float > &tof, const std::vector< float > &r, const std::vector< float > &phi, const std::vector< float > &eta)
std::vector< PSimHit > PSimHitContainer
edm::EDGetTokenT< edm::PSimHitContainer > SiTECLowSrc_Token_
FloatVector MuonRpcBrlPhi
static const int sdPxlFwd
Log< level::Warning, false > LogWarning
edm::InputTag SiTIBHighSrc_
std::vector< SimTrack > SimTrackContainer
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
edm::InputTag MuonRpcSrc_
static const int sdHcalEC
edm::ESGetToken< DTGeometry, MuonGeometryRecord > dtGeomToken_
const GeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
const DTLayer * layer(const DTLayerId &id) const
Return a layer given its id.