14 getAllProvenances(
false), printProvenanceInfo(
false), nRawGenPart(0),
25 std::string MsgLoggerCat =
"GlobalHitsProducer_GlobalHitsProducer";
36 m_Prov.getUntrackedParameter<
bool>(
"GetAllProvenances");
38 m_Prov.getUntrackedParameter<
bool>(
"PrintProvenanceInfo");
94 produces<PGlobalSimHit>(
label);
99 <<
"\n===============================\n" 100 <<
"Initialized as EDProducer with parameter values:\n" 101 <<
" Name = " <<
fName <<
"\n" 102 <<
" Verbosity = " << verbosity <<
"\n" 103 <<
" Frequency = " << frequency <<
"\n" 104 <<
" VtxUnit = " << vtxunit <<
"\n" 105 <<
" Label = " << label <<
"\n" 106 <<
" GetProv = " << getAllProvenances <<
"\n" 107 <<
" PrintProv = " << printProvenanceInfo <<
"\n" 108 <<
" PxlBrlLowSrc = " << PxlBrlLowSrc_.label()
109 <<
":" << PxlBrlLowSrc_.instance() <<
"\n" 110 <<
" PxlBrlHighSrc = " << PxlBrlHighSrc_.
label()
111 <<
":" << PxlBrlHighSrc_.
instance() <<
"\n" 112 <<
" PxlFwdLowSrc = " << PxlFwdLowSrc_.
label()
113 <<
":" << PxlBrlLowSrc_.instance() <<
"\n" 114 <<
" PxlFwdHighSrc = " << PxlFwdHighSrc_.
label()
115 <<
":" << PxlBrlHighSrc_.
instance() <<
"\n" 116 <<
" SiTIBLowSrc = " << SiTIBLowSrc_.
label()
117 <<
":" << SiTIBLowSrc_.
instance() <<
"\n" 118 <<
" SiTIBHighSrc = " << SiTIBHighSrc_.
label()
119 <<
":" << SiTIBHighSrc_.
instance() <<
"\n" 120 <<
" SiTOBLowSrc = " << SiTOBLowSrc_.
label()
121 <<
":" << SiTOBLowSrc_.
instance() <<
"\n" 122 <<
" SiTOBHighSrc = " << SiTOBHighSrc_.
label()
123 <<
":" << SiTOBHighSrc_.
instance() <<
"\n" 124 <<
" SiTIDLowSrc = " << SiTIDLowSrc_.
label()
125 <<
":" << SiTIDLowSrc_.
instance() <<
"\n" 126 <<
" SiTIDHighSrc = " << SiTIDHighSrc_.
label()
127 <<
":" << SiTIDHighSrc_.
instance() <<
"\n" 128 <<
" SiTECLowSrc = " << SiTECLowSrc_.
label()
129 <<
":" << SiTECLowSrc_.
instance() <<
"\n" 130 <<
" SiTECHighSrc = " << SiTECHighSrc_.
label()
131 <<
":" << SiTECHighSrc_.
instance() <<
"\n" 132 <<
" MuonCscSrc = " << MuonCscSrc_.
label()
133 <<
":" << MuonCscSrc_.
instance() <<
"\n" 134 <<
" MuonDtSrc = " << MuonDtSrc_.
label()
135 <<
":" << MuonDtSrc_.
instance() <<
"\n" 136 <<
" MuonRpcSrc = " << MuonRpcSrc_.
label()
137 <<
":" << MuonRpcSrc_.
instance() <<
"\n" 138 <<
" ECalEBSrc = " << ECalEBSrc_.
label()
139 <<
":" << ECalEBSrc_.
instance() <<
"\n" 140 <<
" ECalEESrc = " << ECalEESrc_.
label()
141 <<
":" << ECalEESrc_.
instance() <<
"\n" 142 <<
" ECalESSrc = " << ECalESSrc_.
label()
143 <<
":" << ECalESSrc_.
instance() <<
"\n" 144 <<
" HCalSrc = " << HCalSrc_.
label()
145 <<
":" << HCalSrc_.
instance() <<
"\n" 146 <<
"===============================\n";
165 std::string MsgLoggerCat =
"GlobalHitsProducer_endJob";
168 <<
"Terminating having processed " <<
count <<
" events.";
175 std::string MsgLoggerCat =
"GlobalHitsProducer_produce";
186 <<
"Processing run " << nrun <<
", event " << nevt
187 <<
" (" <<
count <<
" events total)";
191 <<
"Processing run " << nrun <<
", event " << nevt
192 <<
" (" <<
count <<
" events total)";
202 std::vector<const edm::StableProvenance*> AllProv;
207 <<
"Number of Provenances = " << AllProv.size();
210 TString eventout(
"\nProvenance info:\n");
212 for (
unsigned int i = 0;
i < AllProv.size(); ++
i) {
213 eventout +=
"\n ******************************";
214 eventout +=
"\n Module : ";
215 eventout += AllProv[
i]->moduleLabel();
216 eventout +=
"\n ProductID : ";
217 eventout += AllProv[
i]->productID().id();
218 eventout +=
"\n ClassName : ";
219 eventout += AllProv[
i]->className();
220 eventout +=
"\n InstanceName : ";
221 eventout += AllProv[
i]->productInstanceName();
222 eventout +=
"\n BranchName : ";
223 eventout += AllProv[
i]->branchName();
225 eventout +=
"\n ******************************\n";
246 <<
"Done gathering data from event.";
253 <<
"Saving event contents:";
277 std::string MsgLoggerCat =
"GlobalHitsProducer_fillG4MC";
281 eventout =
"\nGathering info:";
287 std::vector<edm::Handle<edm::HepMCProduct> > AllHepMCEvt;
292 for (
unsigned int i = 0;
i < AllHepMCEvt.size(); ++
i) {
293 HepMCEvt = AllHepMCEvt[
i];
300 <<
"Unable to find HepMCProduct in event!";
303 eventout +=
"\n Using HepMCProduct: ";
306 const HepMC::GenEvent* MCEvt = HepMCEvt->
GetEvent();
310 eventout +=
"\n Number of Raw Particles collected:......... ";
324 if (!G4VtxContainer.
isValid()) {
326 <<
"Unable to find SimVertex in event!";
330 edm::SimVertexContainer::const_iterator itVtx;
331 for (itVtx = G4VtxContainer->begin(); itVtx != G4VtxContainer->end();
337 itVtx->position().y(),
338 itVtx->position().z(),
339 itVtx->position().e());
341 G4Vtx1.GetCoordinates(G4Vtx);
343 G4VtxX.push_back((G4Vtx[0]*unit)/micrometer);
344 G4VtxY.push_back((G4Vtx[1]*unit)/micrometer);
345 G4VtxZ.push_back((G4Vtx[2]*unit)/millimeter);
349 eventout +=
"\n Number of G4Vertices collected:............ ";
359 if (!G4TrkContainer.
isValid()) {
361 <<
"Unable to find SimTrack in event!";
365 edm::SimTrackContainer::const_iterator itTrk;
366 for (itTrk = G4TrkContainer->begin(); itTrk != G4TrkContainer->end();
372 itTrk->momentum().y(),
373 itTrk->momentum().z(),
374 itTrk->momentum().e());
376 G4Trk1.GetCoordinates(G4Trk);
378 G4TrkPt.push_back(
sqrt(G4Trk[0]*G4Trk[0]+G4Trk[1]*G4Trk[1]));
379 G4TrkE.push_back(G4Trk[3]);
383 eventout +=
"\n Number of G4Tracks collected:.............. ";
395 std::string MsgLoggerCat =
"GlobalHitsProducer_storeG4MC";
398 TString eventout(
"\n nRawGenPart = ");
400 eventout +=
"\n nG4Vtx = ";
401 eventout +=
G4VtxX.size();
402 for (
unsigned int i = 0;
i <
G4VtxX.size(); ++
i) {
403 eventout +=
"\n (x,y,z) = (";
411 eventout +=
"\n nG4Trk = ";
413 for (
unsigned int i = 0;
i <
G4TrkPt.size(); ++
i) {
414 eventout +=
"\n (pt,e) = (";
433 std::string MsgLoggerCat =
"GlobalHitsProducer_fillTrk";
437 eventout =
"\nGathering info:";
442 if (!theTrackerGeometry.
isValid()) {
444 <<
"Unable to find TrackerDigiGeometryRecord in event!";
450 edm::PSimHitContainer::const_iterator itHit;
459 if (!PxlBrlLowContainer.
isValid()) {
461 <<
"Unable to find TrackerHitsPixelBarrelLowTof in event!";
467 if (!PxlBrlHighContainer.
isValid()) {
469 <<
"Unable to find TrackerHitsPixelBarrelHighTof in event!";
473 thePxlBrlHits.insert(thePxlBrlHits.end(),PxlBrlLowContainer->begin(),
474 PxlBrlLowContainer->end());
475 thePxlBrlHits.insert(thePxlBrlHits.end(),PxlBrlHighContainer->begin(),
476 PxlBrlHighContainer->end());
480 for (itHit = thePxlBrlHits.begin(); itHit != thePxlBrlHits.end(); ++itHit) {
485 DetId theDetUnitId(itHit->detUnitId());
497 <<
"Unable to get GeomDetUnit from PxlBrlHits for Hit " <<
i;
508 PxlBrlR.push_back(bSurface.toGlobal(itHit->localPosition()).
perp());
509 PxlBrlPhi.push_back(bSurface.toGlobal(itHit->localPosition()).
phi());
510 PxlBrlEta.push_back(bSurface.toGlobal(itHit->localPosition()).
eta());
514 <<
"PxlBrl PSimHit " << i
515 <<
" is expected to be (det,subdet) = (" 517 <<
"); value returned is: (" 518 << detector <<
"," << subdetector <<
")";
524 eventout +=
"\n Number of Pixel Barrel Hits collected:..... ";
535 if (!PxlFwdLowContainer.
isValid()) {
537 <<
"Unable to find TrackerHitsPixelEndcapLowTof in event!";
543 if (!PxlFwdHighContainer.
isValid()) {
545 <<
"Unable to find TrackerHitsPixelEndcapHighTof in event!";
549 thePxlFwdHits.insert(thePxlFwdHits.end(),PxlFwdLowContainer->begin(),
550 PxlFwdLowContainer->end());
551 thePxlFwdHits.insert(thePxlFwdHits.end(),PxlFwdHighContainer->begin(),
552 PxlFwdHighContainer->end());
556 for (itHit = thePxlFwdHits.begin(); itHit != thePxlFwdHits.end(); ++itHit) {
561 DetId theDetUnitId(itHit->detUnitId());
573 <<
"Unable to get GeomDetUnit from PxlFwdHits for Hit " <<
i;;
584 PxlFwdZ.push_back(bSurface.toGlobal(itHit->localPosition()).
z());
585 PxlFwdPhi.push_back(bSurface.toGlobal(itHit->localPosition()).
phi());
586 PxlFwdEta.push_back(bSurface.toGlobal(itHit->localPosition()).
eta());
589 <<
"PxlFwd PSimHit " << i
590 <<
" is expected to be (det,subdet) = (" 592 <<
"); value returned is: (" 593 << detector <<
"," << subdetector <<
")";
599 eventout +=
"\n Number of Pixel Forward Hits collected:.... ";
610 if (!SiTIBLowContainer.
isValid()) {
612 <<
"Unable to find TrackerHitsTIBLowTof in event!";
618 if (!SiTIBHighContainer.
isValid()) {
620 <<
"Unable to find TrackerHitsTIBHighTof in event!";
626 if (!SiTOBLowContainer.
isValid()) {
628 <<
"Unable to find TrackerHitsTOBLowTof in event!";
634 if (!SiTOBHighContainer.
isValid()) {
636 <<
"Unable to find TrackerHitsTOBHighTof in event!";
640 theSiBrlHits.insert(theSiBrlHits.end(),SiTIBLowContainer->begin(),
641 SiTIBLowContainer->end());
642 theSiBrlHits.insert(theSiBrlHits.end(),SiTIBHighContainer->begin(),
643 SiTIBHighContainer->end());
644 theSiBrlHits.insert(theSiBrlHits.end(),SiTOBLowContainer->begin(),
645 SiTOBLowContainer->end());
646 theSiBrlHits.insert(theSiBrlHits.end(),SiTOBHighContainer->begin(),
647 SiTOBHighContainer->end());
651 for (itHit = theSiBrlHits.begin(); itHit != theSiBrlHits.end(); ++itHit) {
656 DetId theDetUnitId(itHit->detUnitId());
661 if ((detector ==
dTrk) &&
670 <<
"Unable to get GeomDetUnit from SiBrlHits for Hit " <<
i;
681 SiBrlR.push_back(bSurface.toGlobal(itHit->localPosition()).
perp());
682 SiBrlPhi.push_back(bSurface.toGlobal(itHit->localPosition()).
phi());
683 SiBrlEta.push_back(bSurface.toGlobal(itHit->localPosition()).
eta());
686 <<
"SiBrl PSimHit " << i
687 <<
" is expected to be (det,subdet) = (" 689 <<
" || " <<
sdSiTOB <<
"); value returned is: (" 690 << detector <<
"," << subdetector <<
")";
696 eventout +=
"\n Number of Silicon Barrel Hits collected:... ";
707 if (!SiTIDLowContainer.
isValid()) {
709 <<
"Unable to find TrackerHitsTIDLowTof in event!";
715 if (!SiTIDHighContainer.
isValid()) {
717 <<
"Unable to find TrackerHitsTIDHighTof in event!";
723 if (!SiTECLowContainer.
isValid()) {
725 <<
"Unable to find TrackerHitsTECLowTof in event!";
731 if (!SiTECHighContainer.
isValid()) {
733 <<
"Unable to find TrackerHitsTECHighTof in event!";
737 theSiFwdHits.insert(theSiFwdHits.end(),SiTIDLowContainer->begin(),
738 SiTIDLowContainer->end());
739 theSiFwdHits.insert(theSiFwdHits.end(),SiTIDHighContainer->begin(),
740 SiTIDHighContainer->end());
741 theSiFwdHits.insert(theSiFwdHits.end(),SiTECLowContainer->begin(),
742 SiTECLowContainer->end());
743 theSiFwdHits.insert(theSiFwdHits.end(),SiTECHighContainer->begin(),
744 SiTECHighContainer->end());
748 for (itHit = theSiFwdHits.begin(); itHit != theSiFwdHits.end(); ++itHit) {
753 DetId theDetUnitId(itHit->detUnitId());
758 if ((detector ==
dTrk) &&
767 <<
"Unable to get GeomDetUnit from SiFwdHits Hit " <<
i;
778 SiFwdZ.push_back(bSurface.toGlobal(itHit->localPosition()).
z());
779 SiFwdPhi.push_back(bSurface.toGlobal(itHit->localPosition()).
phi());
780 SiFwdEta.push_back(bSurface.toGlobal(itHit->localPosition()).
eta());
783 <<
"SiFwd PSimHit " << i
784 <<
" is expected to be (det,subdet) = (" 786 <<
" || " <<
sdSiTEC <<
"); value returned is: (" 787 << detector <<
"," << subdetector <<
")";
793 eventout +=
"\n Number of Silicon Forward Hits collected:.. ";
805 std::string MsgLoggerCat =
"GlobalHitsProducer_storeTrk";
808 TString eventout(
"\n nPxlBrlHits = ");
811 eventout +=
"\n (tof,r,phi,eta) = (";
821 eventout +=
"\n nPxlFwdHits = ";
824 eventout +=
"\n (tof,z,phi,eta) = (";
834 eventout +=
"\n nSiBrlHits = ";
836 for (
unsigned int i = 0;
i <
SiBrlToF.size(); ++
i) {
837 eventout +=
"\n (tof,r,phi,eta) = (";
847 eventout +=
"\n nSiFwdHits = ";
849 for (
unsigned int i = 0;
i <
SiFwdToF.size(); ++
i) {
850 eventout +=
"\n (tof,z,phi,eta) = (";
874 std::string MsgLoggerCat =
"GlobalHitsProducer_fillMuon";
878 eventout =
"\nGathering info:";
881 edm::PSimHitContainer::const_iterator itHit;
890 if (!theCSCGeometry.
isValid()) {
892 <<
"Unable to find MuonGeometryRecord for the CSCGeometry in event!";
900 if (!MuonCSCContainer.
isValid()) {
902 <<
"Unable to find MuonCSCHits in event!";
908 for (itHit = MuonCSCContainer->begin(); itHit != MuonCSCContainer->end();
914 DetId theDetUnitId(itHit->detUnitId());
919 if ((detector ==
dMuon) &&
927 <<
"Unable to get GeomDetUnit from theCSCMuon for hit " <<
i;
938 MuonCscZ.push_back(bSurface.toGlobal(itHit->localPosition()).
z());
939 MuonCscPhi.push_back(bSurface.toGlobal(itHit->localPosition()).
phi());
940 MuonCscEta.push_back(bSurface.toGlobal(itHit->localPosition()).
eta());
943 <<
"MuonCsc PSimHit " << i
944 <<
" is expected to be (det,subdet) = (" 946 <<
"); value returned is: (" 947 << detector <<
"," << subdetector <<
")";
953 eventout +=
"\n Number of CSC muon Hits collected:......... ";
964 if (!theDTGeometry.
isValid()) {
966 <<
"Unable to find MuonGeometryRecord for the DTGeometry in event!";
974 if (!MuonDtContainer.
isValid()) {
976 <<
"Unable to find MuonDTHits in event!";
982 for (itHit = MuonDtContainer->begin(); itHit != MuonDtContainer->end();
988 DetId theDetUnitId(itHit->detUnitId());
993 if ((detector ==
dMuon) &&
998 DTWireId wireId(itHit->detUnitId());
1001 const DTLayer *theDet = theDTMuon.
layer(wireId.layerId());
1005 <<
"Unable to get GeomDetUnit from theDtMuon for hit " <<
i;
1012 const BoundPlane& bSurface = theDet->surface();
1016 MuonDtR.push_back(bSurface.toGlobal(itHit->localPosition()).
perp());
1017 MuonDtPhi.push_back(bSurface.toGlobal(itHit->localPosition()).
phi());
1018 MuonDtEta.push_back(bSurface.toGlobal(itHit->localPosition()).
eta());
1021 <<
"MuonDt PSimHit " << i
1022 <<
" is expected to be (det,subdet) = (" 1024 <<
"); value returned is: (" 1025 << detector <<
"," << subdetector <<
")";
1031 eventout +=
"\n Number of DT muon Hits collected:.......... ";
1043 if (!theRPCGeometry.
isValid()) {
1045 <<
"Unable to find MuonGeometryRecord for the RPCGeometry in event!";
1053 if (!MuonRPCContainer.
isValid()) {
1055 <<
"Unable to find MuonRPCHits in event!";
1061 int RPCBrl =0, RPCFwd = 0;
1062 for (itHit = MuonRPCContainer->begin(); itHit != MuonRPCContainer->end();
1068 DetId theDetUnitId(itHit->detUnitId());
1073 if ((detector ==
dMuon) &&
1077 RPCDetId RPCId(itHit->detUnitId());
1080 int region = RPCId.
region();
1087 <<
"Unable to get GeomDetUnit from theRPCMuon for hit " <<
i;
1101 MuonRpcFwdZ.push_back(bSurface.toGlobal(itHit->localPosition()).
z());
1103 push_back(bSurface.toGlobal(itHit->localPosition()).
phi());
1105 push_back(bSurface.toGlobal(itHit->localPosition()).
eta());
1111 push_back(bSurface.toGlobal(itHit->localPosition()).
perp());
1113 push_back(bSurface.toGlobal(itHit->localPosition()).
phi());
1115 push_back(bSurface.toGlobal(itHit->localPosition()).
eta());
1118 <<
"Invalid region for RPC Muon hit" <<
i;
1123 <<
"MuonRpc PSimHit " << i
1124 <<
" is expected to be (det,subdet) = (" 1126 <<
"); value returned is: (" 1127 << detector <<
"," << subdetector <<
")";
1133 eventout +=
"\n Number of RPC muon Hits collected:......... ";
1135 eventout +=
"\n RPC Barrel muon Hits:............ ";
1137 eventout +=
"\n RPC Forward muon Hits:........... ";
1149 std::string MsgLoggerCat =
"GlobalHitsProducer_storeMuon";
1152 TString eventout(
"\n nMuonCSCHits = ");
1155 eventout +=
"\n (tof,z,phi,eta) = (";
1165 eventout +=
"\n nMuonDtHits = ";
1168 eventout +=
"\n (tof,r,phi,eta) = (";
1178 eventout +=
"\n nMuonRpcBrlHits = ";
1181 eventout +=
"\n (tof,r,phi,eta) = (";
1191 eventout +=
"\n nMuonRpcFwdHits = ";
1194 eventout +=
"\n (tof,z,phi,eta) = (";
1220 std::string MsgLoggerCat =
"GlobalHitsProducer_fillECal";
1224 eventout =
"\nGathering info:";
1229 if (!theCaloGeometry.
isValid()) {
1231 <<
"Unable to find CaloGeometryRecord in event!";
1237 edm::PCaloHitContainer::const_iterator itHit;
1248 <<
"Unable to find EcalHitsEB in event!";
1256 <<
"Unable to find EcalHitsEE in event!";
1260 theECalHits.insert(theECalHits.end(),EBContainer->begin(),
1261 EBContainer->end());
1262 theECalHits.insert(theECalHits.end(),EEContainer->begin(),
1263 EEContainer->end());
1267 for (itHit = theECalHits.begin(); itHit != theECalHits.end(); ++itHit) {
1272 DetId theDetUnitId(itHit->id());
1277 if ((detector ==
dEcal) &&
1283 getSubdetectorGeometry(theDetUnitId)->
getGeometry(theDetUnitId);
1287 <<
"Unable to get CaloCellGeometry from ECalHits for Hit " <<
i;
1297 ECalE.push_back(itHit->energy());
1298 ECalToF.push_back(itHit->time());
1304 <<
"ECal PCaloHit " << i
1305 <<
" is expected to be (det,subdet) = (" 1307 <<
" || " <<
sdEcalFwd <<
"); value returned is: (" 1308 << detector <<
"," << subdetector <<
")";
1314 eventout +=
"\n Number of ECal Hits collected:............. ";
1324 if (!PreShContainer.
isValid()) {
1326 <<
"Unable to find EcalHitsES in event!";
1332 for (itHit = PreShContainer->begin();
1333 itHit != PreShContainer->end(); ++itHit) {
1338 DetId theDetUnitId(itHit->id());
1343 if ((detector ==
dEcal) &&
1348 getSubdetectorGeometry(theDetUnitId)->
getGeometry(theDetUnitId);
1352 <<
"Unable to get CaloCellGeometry from PreShContainer for Hit " 1363 PreShE.push_back(itHit->energy());
1370 <<
"PreSh PCaloHit " << i
1371 <<
" is expected to be (det,subdet) = (" 1373 <<
"); value returned is: (" 1374 << detector <<
"," << subdetector <<
")";
1380 eventout +=
"\n Number of PreSh Hits collected:............ ";
1392 std::string MsgLoggerCat =
"GlobalHitsProducer_storeECal";
1395 TString eventout(
"\n nECalHits = ");
1396 eventout +=
ECalE.size();
1397 for (
unsigned int i = 0;
i <
ECalE.size(); ++
i) {
1398 eventout +=
"\n (e,tof,phi,eta) = (";
1408 eventout +=
"\n nPreShHits = ";
1409 eventout +=
PreShE.size();
1410 for (
unsigned int i = 0;
i <
PreShE.size(); ++
i) {
1411 eventout +=
"\n (e,tof,phi,eta) = (";
1433 std::string MsgLoggerCat =
"GlobalHitsProducer_fillHCal";
1437 eventout =
"\nGathering info:";
1442 if (!theCaloGeometry.
isValid()) {
1444 <<
"Unable to find CaloGeometryRecord in event!";
1450 edm::PCaloHitContainer::const_iterator itHit;
1458 if (!HCalContainer.
isValid()) {
1460 <<
"Unable to find HCalHits in event!";
1466 for (itHit = HCalContainer->begin();
1467 itHit != HCalContainer->end(); ++itHit) {
1472 DetId theDetUnitId(itHit->id());
1477 if ((detector ==
dHcal) &&
1489 <<
"Unable to get CaloCellGeometry from HCalContainer for Hit " <<
i;
1499 HCalE.push_back(itHit->energy());
1500 HCalToF.push_back(itHit->time());
1506 <<
"HCal PCaloHit " << i
1507 <<
" is expected to be (det,subdet) = (" 1510 <<
"); value returned is: (" 1511 << detector <<
"," << subdetector <<
")";
1517 eventout +=
"\n Number of HCal Hits collected:............. ";
1529 std::string MsgLoggerCat =
"GlobalHitsProducer_storeHCal";
1532 TString eventout(
"\n nHCalHits = ");
1533 eventout +=
HCalE.size();
1534 for (
unsigned int i = 0;
i <
HCalE.size(); ++
i) {
1535 eventout +=
"\n (e,tof,phi,eta) = (";
1555 std::string MsgLoggerCat =
"GlobalHitsProducer_clear";
1559 <<
"Clearing event holders";
void storeECal(PGlobalSimHit &)
edm::EDGetTokenT< edm::PSimHitContainer > SiTIBHighSrc_Token_
void getManyByType(std::vector< Handle< PROD > > &results) const
T getParameter(std::string const &) const
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
EventNumber_t event() const
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< edm::PSimHitContainer > SiTECHighSrc_Token_
std::vector< PCaloHit > PCaloHitContainer
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
const GeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
static const int sdMuonRPCRgnFwdn
void produce(edm::Event &, const edm::EventSetup &) override
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)
static const int sdMuonDT
edm::EDGetTokenT< edm::PSimHitContainer > MuonRpcSrc_Token_
edm::InputTag MuonCscSrc_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
void putMuonRpcFwdHits(const std::vector< float > &tof, const std::vector< float > &z, const std::vector< float > &phi, const std::vector< float > &eta)
virtual const GlobalPoint & getPosition() const
Returns the position of reference for this cell.
void putMuonRpcBrlHits(const std::vector< float > &tof, const std::vector< float > &r, const std::vector< float > &phi, const std::vector< float > &eta)
Geom::Phi< T > phi() const
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 &)
edm::InputTag PxlFwdLowSrc_
static const int sdMuonRPC
void storeG4MC(PGlobalSimHit &)
FloatVector MuonRpcFwdPhi
edm::EDGetTokenT< edm::PSimHitContainer > PxlBrlHighSrc_Token_
edm::InputTag SiTIDLowSrc_
void storeTrk(PGlobalSimHit &)
const Plane & surface() const
The nominal surface of the GeomDet.
FloatVector MuonRpcFwdToF
void beginJob(void) override
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_
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
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_
static const int sdEcalBrl
static const int sdMuonRPCRgnFwdp
static const int sdMuonRPCRgnBrl
edm::InputTag SiTIDHighSrc_
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)
edm::EDGetTokenT< edm::SimTrackContainer > G4TrkSrc_Token_
edm::InputTag PxlFwdHighSrc_
GlobalPoint getPosition(const DetId &id) const
edm::EDGetTokenT< edm::PCaloHitContainer > ECalESSrc_Token_
FloatVector MuonRpcFwdEta
edm::EDGetTokenT< edm::PSimHitContainer > SiTOBHighSrc_Token_
void putPreShHits(const std::vector< float > &e, const std::vector< float > &tof, const std::vector< float > &phi, const std::vector< float > &eta)
const HepMC::GenEvent * GetEvent() const
BranchDescription const & branchDescription() const
void fillECal(edm::Event &, const edm::EventSetup &)
void fillHCal(edm::Event &, const edm::EventSetup &)
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_
const GeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
edm::EDGetTokenT< edm::PSimHitContainer > PxlBrlLowSrc_Token_
edm::EDGetTokenT< edm::SimVertexContainer > G4VtxSrc_Token_
T perp() const
Magnitude of transverse component.
edm::EDGetTokenT< edm::PCaloHitContainer > ECalEBSrc_Token_
edm::EDGetTokenT< edm::PCaloHitContainer > ECalEESrc_Token_
void putPxlBrlHits(const std::vector< float > &tof, const std::vector< float > &r, const std::vector< float > &phi, const std::vector< float > &eta)
const CaloCellGeometry * getGeometry(const DetId &id) const
Get the cell geometry of a given detector id.
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
const DTLayer * layer(const DTLayerId &id) const
Return a layer given its id.
edm::InputTag SiTIBHighSrc_
std::vector< SimTrack > SimTrackContainer
edm::InputTag MuonRpcSrc_
static const int sdHcalEC
Provenance const * provenance() const
void getAllStableProvenance(std::vector< StableProvenance const * > &provenances) const
int region() const
Region id: 0 for Barrel, +/-1 For +/- Endcap.