12 using CLHEP::micrometer;
13 using CLHEP::millimeter;
21 getAllProvenances(
false),
22 printProvenanceInfo(
false),
32 std::string MsgLoggerCat =
"GlobalHitsProducer_GlobalHitsProducer";
98 produces<PGlobalSimHit>(
label);
103 <<
"\n===============================\n" 104 <<
"Initialized as EDProducer with parameter values:\n" 105 <<
" Name = " <<
fName <<
"\n" 108 <<
" VtxUnit = " <<
vtxunit <<
"\n" 109 <<
" Label = " <<
label <<
"\n" 131 <<
"===============================\n";
143 std::string MsgLoggerCat =
"GlobalHitsProducer_endJob";
145 edm::LogInfo(MsgLoggerCat) <<
"Terminating having processed " <<
count <<
" events.";
150 std::string MsgLoggerCat =
"GlobalHitsProducer_produce";
160 edm::LogInfo(MsgLoggerCat) <<
"Processing run " << nrun <<
", event " <<
nevt <<
" (" <<
count <<
" events total)";
173 std::vector<const edm::StableProvenance *> AllProv;
174 iEvent.getAllStableProvenance(AllProv);
177 edm::LogInfo(MsgLoggerCat) <<
"Number of Provenances = " << AllProv.size();
180 TString eventout(
"\nProvenance info:\n");
182 for (
unsigned int i = 0;
i < AllProv.size(); ++
i) {
183 eventout +=
"\n ******************************";
184 eventout +=
"\n Module : ";
185 eventout += AllProv[
i]->moduleLabel();
186 eventout +=
"\n ProductID : ";
187 eventout += AllProv[
i]->productID().id();
188 eventout +=
"\n ClassName : ";
189 eventout += AllProv[
i]->className();
190 eventout +=
"\n InstanceName : ";
191 eventout += AllProv[
i]->productInstanceName();
192 eventout +=
"\n BranchName : ";
193 eventout += AllProv[
i]->branchName();
195 eventout +=
"\n ******************************\n";
215 edm::LogInfo(MsgLoggerCat) <<
"Done gathering data from event.";
243 std::string MsgLoggerCat =
"GlobalHitsProducer_fillG4MC";
247 eventout =
"\nGathering info:";
253 std::vector<edm::Handle<edm::HepMCProduct>> AllHepMCEvt;
256 throw cms::Exception(
"UnsupportedFunction") <<
"GlobalHitsProducer::fillG4MC: " 257 <<
"getManyByType has not been supported by the Framework since 2015. " 258 <<
"This module has been broken since then. Maybe it should be deleted. " 259 <<
"Another possibility is to upgrade to use GetterOfProducts instead.";
263 for (
unsigned int i = 0;
i < AllHepMCEvt.size(); ++
i) {
264 HepMCEvt = AllHepMCEvt[
i];
270 edm::LogWarning(MsgLoggerCat) <<
"Unable to find HepMCProduct in event!";
273 eventout +=
"\n Using HepMCProduct: ";
280 eventout +=
"\n Number of Raw Particles collected:......... ";
296 if (!G4VtxContainer.
isValid()) {
301 edm::SimVertexContainer::const_iterator itVtx;
302 for (itVtx = G4VtxContainer->begin(); itVtx != G4VtxContainer->end(); ++itVtx) {
306 itVtx->position().x(), itVtx->position().y(), itVtx->position().z(), itVtx->position().e());
308 G4Vtx1.GetCoordinates(G4Vtx);
310 G4VtxX.push_back((G4Vtx[0] *
unit) / micrometer);
311 G4VtxY.push_back((G4Vtx[1] *
unit) / micrometer);
312 G4VtxZ.push_back((G4Vtx[2] *
unit) / millimeter);
316 eventout +=
"\n Number of G4Vertices collected:............ ";
326 if (!G4TrkContainer.
isValid()) {
331 edm::SimTrackContainer::const_iterator itTrk;
332 for (itTrk = G4TrkContainer->begin(); itTrk != G4TrkContainer->end(); ++itTrk) {
336 itTrk->momentum().x(), itTrk->momentum().y(), itTrk->momentum().z(), itTrk->momentum().e());
338 G4Trk1.GetCoordinates(G4Trk);
340 G4TrkPt.push_back(
sqrt(G4Trk[0] * G4Trk[0] + G4Trk[1] * G4Trk[1]));
341 G4TrkE.push_back(G4Trk[3]);
345 eventout +=
"\n Number of G4Tracks collected:.............. ";
356 std::string MsgLoggerCat =
"GlobalHitsProducer_storeG4MC";
359 TString eventout(
"\n nRawGenPart = ");
361 eventout +=
"\n nG4Vtx = ";
362 eventout +=
G4VtxX.size();
363 for (
unsigned int i = 0;
i <
G4VtxX.size(); ++
i) {
364 eventout +=
"\n (x,y,z) = (";
372 eventout +=
"\n nG4Trk = ";
374 for (
unsigned int i = 0;
i <
G4TrkPt.size(); ++
i) {
375 eventout +=
"\n (pt,e) = (";
392 std::string MsgLoggerCat =
"GlobalHitsProducer_fillTrk";
396 eventout =
"\nGathering info:";
400 if (!theTrackerGeometry.isValid()) {
401 edm::LogWarning(MsgLoggerCat) <<
"Unable to find TrackerDigiGeometryRecord in event!";
407 edm::PSimHitContainer::const_iterator itHit;
416 if (!PxlBrlLowContainer.
isValid()) {
417 edm::LogWarning(MsgLoggerCat) <<
"Unable to find TrackerHitsPixelBarrelLowTof in event!";
423 if (!PxlBrlHighContainer.
isValid()) {
424 edm::LogWarning(MsgLoggerCat) <<
"Unable to find TrackerHitsPixelBarrelHighTof in event!";
428 thePxlBrlHits.insert(thePxlBrlHits.end(), PxlBrlLowContainer->begin(), PxlBrlLowContainer->end());
429 thePxlBrlHits.insert(thePxlBrlHits.end(), PxlBrlHighContainer->begin(), PxlBrlHighContainer->end());
433 for (itHit = thePxlBrlHits.begin(); itHit != thePxlBrlHits.end(); ++itHit) {
437 DetId theDetUnitId(itHit->detUnitId());
447 edm::LogWarning(MsgLoggerCat) <<
"Unable to get GeomDetUnit from PxlBrlHits for Hit " <<
i;
458 PxlBrlR.push_back(bSurface.toGlobal(itHit->localPosition()).
perp());
459 PxlBrlPhi.push_back(bSurface.toGlobal(itHit->localPosition()).
phi());
460 PxlBrlEta.push_back(bSurface.toGlobal(itHit->localPosition()).
eta());
463 edm::LogWarning(MsgLoggerCat) <<
"PxlBrl PSimHit " <<
i <<
" is expected to be (det,subdet) = (" <<
dTrk <<
"," 470 eventout +=
"\n Number of Pixel Barrel Hits collected:..... ";
481 if (!PxlFwdLowContainer.
isValid()) {
482 edm::LogWarning(MsgLoggerCat) <<
"Unable to find TrackerHitsPixelEndcapLowTof in event!";
488 if (!PxlFwdHighContainer.
isValid()) {
489 edm::LogWarning(
"GlobalHitsProducer_fillTrk") <<
"Unable to find TrackerHitsPixelEndcapHighTof in event!";
493 thePxlFwdHits.insert(thePxlFwdHits.end(), PxlFwdLowContainer->begin(), PxlFwdLowContainer->end());
494 thePxlFwdHits.insert(thePxlFwdHits.end(), PxlFwdHighContainer->begin(), PxlFwdHighContainer->end());
499 for (itHit = thePxlFwdHits.begin(); itHit != thePxlFwdHits.end(); ++itHit) {
503 DetId theDetUnitId(itHit->detUnitId());
513 edm::LogWarning(MsgLoggerCat) <<
"Unable to get GeomDetUnit from PxlFwdHits for Hit " <<
i;
525 PxlFwdZ.push_back(bSurface.toGlobal(itHit->localPosition()).
z());
526 PxlFwdPhi.push_back(bSurface.toGlobal(itHit->localPosition()).
phi());
527 PxlFwdEta.push_back(bSurface.toGlobal(itHit->localPosition()).
eta());
529 edm::LogWarning(MsgLoggerCat) <<
"PxlFwd PSimHit " <<
i <<
" is expected to be (det,subdet) = (" <<
dTrk <<
"," 536 eventout +=
"\n Number of Pixel Forward Hits collected:.... ";
547 if (!SiTIBLowContainer.
isValid()) {
548 edm::LogWarning(MsgLoggerCat) <<
"Unable to find TrackerHitsTIBLowTof in event!";
554 if (!SiTIBHighContainer.
isValid()) {
555 edm::LogWarning(MsgLoggerCat) <<
"Unable to find TrackerHitsTIBHighTof in event!";
561 if (!SiTOBLowContainer.
isValid()) {
562 edm::LogWarning(MsgLoggerCat) <<
"Unable to find TrackerHitsTOBLowTof in event!";
568 if (!SiTOBHighContainer.
isValid()) {
569 edm::LogWarning(MsgLoggerCat) <<
"Unable to find TrackerHitsTOBHighTof in event!";
573 theSiBrlHits.insert(theSiBrlHits.end(), SiTIBLowContainer->begin(), SiTIBLowContainer->end());
574 theSiBrlHits.insert(theSiBrlHits.end(), SiTIBHighContainer->begin(), SiTIBHighContainer->end());
575 theSiBrlHits.insert(theSiBrlHits.end(), SiTOBLowContainer->begin(), SiTOBLowContainer->end());
576 theSiBrlHits.insert(theSiBrlHits.end(), SiTOBHighContainer->begin(), SiTOBHighContainer->end());
581 for (itHit = theSiBrlHits.begin(); itHit != theSiBrlHits.end(); ++itHit) {
585 DetId theDetUnitId(itHit->detUnitId());
595 edm::LogWarning(MsgLoggerCat) <<
"Unable to get GeomDetUnit from SiBrlHits for Hit " <<
i;
606 SiBrlR.push_back(bSurface.toGlobal(itHit->localPosition()).
perp());
607 SiBrlPhi.push_back(bSurface.toGlobal(itHit->localPosition()).
phi());
608 SiBrlEta.push_back(bSurface.toGlobal(itHit->localPosition()).
eta());
610 edm::LogWarning(MsgLoggerCat) <<
"SiBrl PSimHit " <<
i <<
" is expected to be (det,subdet) = (" <<
dTrk <<
"," 618 eventout +=
"\n Number of Silicon Barrel Hits collected:... ";
629 if (!SiTIDLowContainer.
isValid()) {
630 edm::LogWarning(MsgLoggerCat) <<
"Unable to find TrackerHitsTIDLowTof in event!";
636 if (!SiTIDHighContainer.
isValid()) {
637 edm::LogWarning(
"GlobalHitsProducer_fillTrk") <<
"Unable to find TrackerHitsTIDHighTof in event!";
643 if (!SiTECLowContainer.
isValid()) {
644 edm::LogWarning(MsgLoggerCat) <<
"Unable to find TrackerHitsTECLowTof in event!";
650 if (!SiTECHighContainer.
isValid()) {
651 edm::LogWarning(MsgLoggerCat) <<
"Unable to find TrackerHitsTECHighTof in event!";
655 theSiFwdHits.insert(theSiFwdHits.end(), SiTIDLowContainer->begin(), SiTIDLowContainer->end());
656 theSiFwdHits.insert(theSiFwdHits.end(), SiTIDHighContainer->begin(), SiTIDHighContainer->end());
657 theSiFwdHits.insert(theSiFwdHits.end(), SiTECLowContainer->begin(), SiTECLowContainer->end());
658 theSiFwdHits.insert(theSiFwdHits.end(), SiTECHighContainer->begin(), SiTECHighContainer->end());
663 for (itHit = theSiFwdHits.begin(); itHit != theSiFwdHits.end(); ++itHit) {
667 DetId theDetUnitId(itHit->detUnitId());
677 edm::LogWarning(MsgLoggerCat) <<
"Unable to get GeomDetUnit from SiFwdHits Hit " <<
i;
688 SiFwdZ.push_back(bSurface.toGlobal(itHit->localPosition()).
z());
689 SiFwdPhi.push_back(bSurface.toGlobal(itHit->localPosition()).
phi());
690 SiFwdEta.push_back(bSurface.toGlobal(itHit->localPosition()).
eta());
692 edm::LogWarning(MsgLoggerCat) <<
"SiFwd PSimHit " <<
i <<
" is expected to be (det,subdet) = (" <<
dTrk <<
"," 700 eventout +=
"\n Number of Silicon Forward Hits collected:.. ";
711 std::string MsgLoggerCat =
"GlobalHitsProducer_storeTrk";
714 TString eventout(
"\n nPxlBrlHits = ");
717 eventout +=
"\n (tof,r,phi,eta) = (";
727 eventout +=
"\n nPxlFwdHits = ";
730 eventout +=
"\n (tof,z,phi,eta) = (";
740 eventout +=
"\n nSiBrlHits = ";
742 for (
unsigned int i = 0;
i <
SiBrlToF.size(); ++
i) {
743 eventout +=
"\n (tof,r,phi,eta) = (";
753 eventout +=
"\n nSiFwdHits = ";
755 for (
unsigned int i = 0;
i <
SiFwdToF.size(); ++
i) {
756 eventout +=
"\n (tof,z,phi,eta) = (";
778 std::string MsgLoggerCat =
"GlobalHitsProducer_fillMuon";
782 eventout =
"\nGathering info:";
785 edm::PSimHitContainer::const_iterator itHit;
793 if (!theCSCGeometry.isValid()) {
794 edm::LogWarning(MsgLoggerCat) <<
"Unable to find MuonGeometryRecord for the CSCGeometry in event!";
802 if (!MuonCSCContainer.
isValid()) {
803 edm::LogWarning(MsgLoggerCat) <<
"Unable to find MuonCSCHits in event!";
809 for (itHit = MuonCSCContainer->begin(); itHit != MuonCSCContainer->end(); ++itHit) {
813 DetId theDetUnitId(itHit->detUnitId());
823 edm::LogWarning(MsgLoggerCat) <<
"Unable to get GeomDetUnit from theCSCMuon for hit " <<
i;
834 MuonCscZ.push_back(bSurface.toGlobal(itHit->localPosition()).
z());
835 MuonCscPhi.push_back(bSurface.toGlobal(itHit->localPosition()).
phi());
836 MuonCscEta.push_back(bSurface.toGlobal(itHit->localPosition()).
eta());
838 edm::LogWarning(MsgLoggerCat) <<
"MuonCsc PSimHit " <<
i <<
" is expected to be (det,subdet) = (" <<
dMuon <<
"," 845 eventout +=
"\n Number of CSC muon Hits collected:......... ";
855 if (!theDTGeometry.isValid()) {
856 edm::LogWarning(MsgLoggerCat) <<
"Unable to find MuonGeometryRecord for the DTGeometry in event!";
864 if (!MuonDtContainer.
isValid()) {
865 edm::LogWarning(MsgLoggerCat) <<
"Unable to find MuonDTHits in event!";
871 for (itHit = MuonDtContainer->begin(); itHit != MuonDtContainer->end(); ++itHit) {
875 DetId theDetUnitId(itHit->detUnitId());
883 DTWireId wireId(itHit->detUnitId());
886 const DTLayer *theDet = theDTMuon.
layer(wireId.layerId());
889 edm::LogWarning(MsgLoggerCat) <<
"Unable to get GeomDetUnit from theDtMuon for hit " <<
i;
896 const BoundPlane &bSurface = theDet->surface();
900 MuonDtR.push_back(bSurface.toGlobal(itHit->localPosition()).
perp());
901 MuonDtPhi.push_back(bSurface.toGlobal(itHit->localPosition()).
phi());
902 MuonDtEta.push_back(bSurface.toGlobal(itHit->localPosition()).
eta());
904 edm::LogWarning(MsgLoggerCat) <<
"MuonDt PSimHit " <<
i <<
" is expected to be (det,subdet) = (" <<
dMuon <<
"," 911 eventout +=
"\n Number of DT muon Hits collected:.......... ";
922 if (!theRPCGeometry.isValid()) {
923 edm::LogWarning(MsgLoggerCat) <<
"Unable to find MuonGeometryRecord for the RPCGeometry in event!";
931 if (!MuonRPCContainer.
isValid()) {
932 edm::LogWarning(MsgLoggerCat) <<
"Unable to find MuonRPCHits in event!";
938 int RPCBrl = 0, RPCFwd = 0;
939 for (itHit = MuonRPCContainer->begin(); itHit != MuonRPCContainer->end(); ++itHit) {
943 DetId theDetUnitId(itHit->detUnitId());
953 int region = RPCId.region();
959 edm::LogWarning(MsgLoggerCat) <<
"Unable to get GeomDetUnit from theRPCMuon for hit " <<
i;
973 MuonRpcFwdZ.push_back(bSurface.toGlobal(itHit->localPosition()).
z());
980 MuonRpcBrlR.push_back(bSurface.toGlobal(itHit->localPosition()).
perp());
988 edm::LogWarning(MsgLoggerCat) <<
"MuonRpc PSimHit " <<
i <<
" is expected to be (det,subdet) = (" <<
dMuon <<
"," 995 eventout +=
"\n Number of RPC muon Hits collected:......... ";
997 eventout +=
"\n RPC Barrel muon Hits:............ ";
999 eventout +=
"\n RPC Forward muon Hits:........... ";
1010 std::string MsgLoggerCat =
"GlobalHitsProducer_storeMuon";
1013 TString eventout(
"\n nMuonCSCHits = ");
1016 eventout +=
"\n (tof,z,phi,eta) = (";
1026 eventout +=
"\n nMuonDtHits = ";
1029 eventout +=
"\n (tof,r,phi,eta) = (";
1039 eventout +=
"\n nMuonRpcBrlHits = ";
1042 eventout +=
"\n (tof,r,phi,eta) = (";
1052 eventout +=
"\n nMuonRpcFwdHits = ";
1055 eventout +=
"\n (tof,z,phi,eta) = (";
1077 std::string MsgLoggerCat =
"GlobalHitsProducer_fillECal";
1081 eventout =
"\nGathering info:";
1085 if (!theCaloGeometry.isValid()) {
1086 edm::LogWarning(MsgLoggerCat) <<
"Unable to find CaloGeometryRecord in event!";
1092 edm::PCaloHitContainer::const_iterator itHit;
1102 edm::LogWarning(MsgLoggerCat) <<
"Unable to find EcalHitsEB in event!";
1109 edm::LogWarning(MsgLoggerCat) <<
"Unable to find EcalHitsEE in event!";
1113 theECalHits.insert(theECalHits.end(), EBContainer->begin(), EBContainer->end());
1114 theECalHits.insert(theECalHits.end(), EEContainer->begin(), EEContainer->end());
1118 for (itHit = theECalHits.begin(); itHit != theECalHits.end(); ++itHit) {
1122 DetId theDetUnitId(itHit->id());
1132 edm::LogWarning(MsgLoggerCat) <<
"Unable to get CaloCellGeometry from ECalHits for Hit " <<
i;
1139 const GlobalPoint &globalposition = theDet->getPosition();
1142 ECalE.push_back(itHit->energy());
1143 ECalToF.push_back(itHit->time());
1148 edm::LogWarning(MsgLoggerCat) <<
"ECal PCaloHit " <<
i <<
" is expected to be (det,subdet) = (" <<
dEcal <<
"," 1156 eventout +=
"\n Number of ECal Hits collected:............. ";
1166 if (!PreShContainer.
isValid()) {
1167 edm::LogWarning(MsgLoggerCat) <<
"Unable to find EcalHitsES in event!";
1173 for (itHit = PreShContainer->begin(); itHit != PreShContainer->end(); ++itHit) {
1177 DetId theDetUnitId(itHit->id());
1187 edm::LogWarning(MsgLoggerCat) <<
"Unable to get CaloCellGeometry from PreShContainer for Hit " <<
i;
1194 const GlobalPoint &globalposition = theDet->getPosition();
1197 PreShE.push_back(itHit->energy());
1203 edm::LogWarning(MsgLoggerCat) <<
"PreSh PCaloHit " <<
i <<
" is expected to be (det,subdet) = (" <<
dEcal <<
"," 1210 eventout +=
"\n Number of PreSh Hits collected:............ ";
1221 std::string MsgLoggerCat =
"GlobalHitsProducer_storeECal";
1224 TString eventout(
"\n nECalHits = ");
1225 eventout +=
ECalE.size();
1226 for (
unsigned int i = 0;
i <
ECalE.size(); ++
i) {
1227 eventout +=
"\n (e,tof,phi,eta) = (";
1237 eventout +=
"\n nPreShHits = ";
1238 eventout +=
PreShE.size();
1239 for (
unsigned int i = 0;
i <
PreShE.size(); ++
i) {
1240 eventout +=
"\n (e,tof,phi,eta) = (";
1260 std::string MsgLoggerCat =
"GlobalHitsProducer_fillHCal";
1264 eventout =
"\nGathering info:";
1268 if (!theCaloGeometry.isValid()) {
1269 edm::LogWarning(MsgLoggerCat) <<
"Unable to find CaloGeometryRecord in event!";
1275 edm::PCaloHitContainer::const_iterator itHit;
1283 if (!HCalContainer.
isValid()) {
1290 for (itHit = HCalContainer->begin(); itHit != HCalContainer->end(); ++itHit) {
1294 DetId theDetUnitId(itHit->id());
1305 edm::LogWarning(MsgLoggerCat) <<
"Unable to get CaloCellGeometry from HCalContainer for Hit " <<
i;
1315 HCalE.push_back(itHit->energy());
1316 HCalToF.push_back(itHit->time());
1321 edm::LogWarning(MsgLoggerCat) <<
"HCal PCaloHit " <<
i <<
" is expected to be (det,subdet) = (" <<
dHcal <<
"," 1329 eventout +=
"\n Number of HCal Hits collected:............. ";
1340 std::string MsgLoggerCat =
"GlobalHitsProducer_storeHCal";
1343 TString eventout(
"\n nHCalHits = ");
1344 eventout +=
HCalE.size();
1345 for (
unsigned int i = 0;
i <
HCalE.size(); ++
i) {
1346 eventout +=
"\n (e,tof,phi,eta) = (";
1365 std::string MsgLoggerCat =
"GlobalHitsProducer_clear";
1368 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.