|
ATLAS Offline Software
|
#include <SiSmearedDigitizationTool.h>
|
| SiSmearedDigitizationTool (const std::string &type, const std::string &name, const IInterface *parent) |
| Constructor with parameters. More...
|
|
StatusCode | initialize () |
|
StatusCode | prepareEvent (const EventContext &ctx, unsigned int) |
|
StatusCode | processBunchXing (int bunchXing, SubEventIterator bSubEvents, SubEventIterator eSubEvents) |
|
StatusCode | processAllSubEvents (const EventContext &ctx) |
|
StatusCode | mergeEvent (const EventContext &ctx) |
|
StatusCode | mergeClusters (Pixel_detElement_RIO_map *cluster_map) |
|
StatusCode | mergeClusters (SCT_detElement_RIO_map *cluster_map) |
|
StatusCode | digitize (const EventContext &ctx, TimedHitCollection< SiHit > &thpcsi) |
|
StatusCode | createAndStoreRIOs (const EventContext &ctx) |
|
StatusCode | retrieveTruth () |
|
StatusCode | finalize () |
|
template<typename CLUSTER > |
double | calculateDistance (CLUSTER *clusterA, CLUSTER *clusterB) |
|
template<typename CLUSTER > |
double | calculateSigma (CLUSTER *clusterA, CLUSTER *clusterB) |
|
template<typename CLUSTER > |
ClusterInfo | calculateNewCluster (CLUSTER *clusterA, CLUSTER *clusterB) |
|
template<typename CLUSTER > |
StatusCode | FillTruthMap (PRD_MultiTruthCollection *, CLUSTER *, const TimedHitPtr< SiHit > &) |
|
|
ServiceHandle< IAthRNGSvc > | m_rndmSvc {this, "RndmSvc", "AthRNGSvc", ""} |
| Random number service. More...
|
|
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > | m_pixelDetEleCollKey {this, "PixelDetEleCollKey", "PixelDetectorElementCollection", "Key of SiDetectorElementCollection for Pixel"} |
|
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > | m_SCTDetEleCollKey {this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"} |
|
const PixelID * | m_pixel_ID |
| Handle to the ID helper. More...
|
|
const SCT_ID * | m_sct_ID |
| Handle to the ID helper. More...
|
|
std::string | m_randomEngineName |
| Name of the random number stream. More...
|
|
float | m_pitch_X |
|
float | m_pitch_Y |
|
bool | m_merge |
|
double | m_nSigma |
|
bool | m_useDiscSurface |
|
InDet::PixelClusterContainer * | m_pixelClusterContainer |
| the PixelClusterContainer More...
|
|
InDet::SCT_ClusterContainer * | m_sctClusterContainer |
| the SCT_ClusterContainer More...
|
|
ServiceHandle< PileUpMergeSvc > | m_mergeSvc |
| PileUp Merge service. More...
|
|
int | m_HardScatterSplittingMode |
| Process all SiHit or just those from signal or background events. More...
|
|
bool | m_HardScatterSplittingSkipper |
|
PRD_MultiTruthCollection * | m_pixelPrdTruth {} |
|
std::string | m_prdTruthNamePixel |
|
PRD_MultiTruthCollection * | m_SCTPrdTruth {} |
|
std::string | m_prdTruthNameSCT |
|
SiHitCollection * | m_simHitColl {} |
|
std::string | m_inputObjectName |
|
std::vector< SiHitCollection * > | m_siHitCollList |
| name of the sub event hit collections. More...
|
|
Pixel_detElement_RIO_map * | m_pixelClusterMap {} |
|
SCT_detElement_RIO_map * | m_sctClusterMap {} |
|
bool | m_SmearPixel |
|
bool | m_emulateAtlas |
|
std::string | m_pixel_SiClustersName |
|
std::string | m_Sct_SiClustersName |
|
bool | m_checkSmear |
|
ServiceHandle< ITHistSvc > | m_thistSvc {this, "THistSvc", "THistSvc"} |
|
TFile * | m_outputFile |
| the root file More...
|
|
TTree * | m_currentTree |
| the tree to store information from pixel and SCT (before and after smearing) More...
|
|
double | m_x_pixel |
|
double | m_y_pixel |
|
double | m_x_exit_pixel |
|
double | m_y_exit_pixel |
|
double | m_z_exit_pixel |
|
double | m_x_entry_pixel |
|
double | m_y_entry_pixel |
|
double | m_z_entry_pixel |
|
double | m_x_pixel_global |
|
double | m_y_pixel_global |
|
double | m_z_pixel_global |
|
double | m_x_SCT |
|
double | m_x_exit_SCT |
|
double | m_y_exit_SCT |
|
double | m_z_exit_SCT |
|
double | m_x_entry_SCT |
|
double | m_y_entry_SCT |
|
double | m_z_entry_SCT |
|
double | m_x_SCT_global |
|
double | m_y_SCT_global |
|
double | m_z_SCT_global |
|
double | m_x_pixel_smeared |
|
double | m_y_pixel_smeared |
|
double | m_x_SCT_smeared |
|
double | m_Err_x_pixel |
|
double | m_Err_y_pixel |
|
double | m_Err_x_SCT |
|
double | m_Err_y_SCT |
|
Definition at line 61 of file SiSmearedDigitizationTool.h.
◆ Pixel_detElement_RIO_map
◆ SCT_detElement_RIO_map
◆ SiSmearedDigitizationTool() [1/3]
SiSmearedDigitizationTool::SiSmearedDigitizationTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ SiSmearedDigitizationTool() [2/3]
SiSmearedDigitizationTool::SiSmearedDigitizationTool |
( |
| ) |
|
|
private |
◆ SiSmearedDigitizationTool() [3/3]
◆ calculateDistance()
template<typename CLUSTER >
double SiSmearedDigitizationTool::calculateDistance |
( |
CLUSTER * |
clusterA, |
|
|
CLUSTER * |
clusterB |
|
) |
| |
Definition at line 503 of file SiSmearedDigitizationTool.cxx.
511 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: intersection_a = " << intersection_a);
512 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: intersection_b = " << intersection_b);
514 double distX = intersection_a.x() - intersection_b.x();
515 double distY = intersection_a.y() - intersection_b.y();
517 return sqrt(distX*distX + distY*distY);
◆ calculateNewCluster()
template<typename CLUSTER >
Definition at line 538 of file SiSmearedDigitizationTool.cxx.
541 const Amg::MatrixX& clusterErr_a = clusterA->localCovariance();
545 const Amg::MatrixX& clusterErr_b = clusterB->localCovariance();
553 double interX = 0.5*(intersection_a.x()+intersection_b.x());
554 double interY = 0.5*(intersection_a.y()+intersection_b.y());
563 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: siWidth_a = " << siWidth_a);
564 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: siWidth_b = " << siWidth_b);
571 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: siWidth = " << siWidth);
574 covariance.setIdentity();
◆ calculateSigma()
template<typename CLUSTER >
double SiSmearedDigitizationTool::calculateSigma |
( |
CLUSTER * |
clusterA, |
|
|
CLUSTER * |
clusterB |
|
) |
| |
◆ createAndStoreRIOs()
StatusCode SiSmearedDigitizationTool::createAndStoreRIOs |
( |
const EventContext & |
ctx | ) |
|
Definition at line 1125 of file SiSmearedDigitizationTool.cxx.
1131 elementsPixel = pixelDetEle.retrieve();
1132 if (elementsPixel==
nullptr) {
1134 return StatusCode::FAILURE;
1141 elementsSCT = sctDetEle.retrieve();
1142 if (elementsSCT==
nullptr) {
1144 return StatusCode::FAILURE;
1150 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: in pixel createAndStoreRIOs() ---" );
1157 std::pair <Pixel_detElement_RIO_map::iterator, Pixel_detElement_RIO_map::iterator>
range;
1161 firstDetElem =
range.first;
1163 IdentifierHash waferID;
1164 waferID = firstDetElem->first;
1169 clusterCollection->setIdentifier(detElement->
identify());
1174 pixelCluster->setHashAndIndex(clusterCollection->identifyHash(),clusterCollection->size());
1179 ATH_MSG_WARNING(
"Could not add collection to Identifyable container !" );
1188 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: in SCT createAndStoreRIOs() ---" );
1194 std::pair <SCT_detElement_RIO_map::iterator, SCT_detElement_RIO_map::iterator>
range;
1198 firstDetElem =
range.first;
1200 IdentifierHash waferID;
1201 waferID = firstDetElem->first;
1205 clusterCollection->setIdentifier(detElement->
identify());
1210 sctCluster->
setHashAndIndex(clusterCollection->identifyHash(),clusterCollection->size());
1211 clusterCollection->push_back(sctCluster);
1214 if (
m_sctClusterContainer->addCollection( clusterCollection, clusterCollection->identifyHash() ).isFailure() ) {
1215 ATH_MSG_WARNING(
"Could not add collection to Identifyable container !" );
1223 return StatusCode::SUCCESS;
◆ digitize()
Definition at line 717 of file SiSmearedDigitizationTool.cxx.
723 rngWrapper->
setSeed( rngName, ctx );
724 CLHEP::HepRandomEngine *rndmEngine = rngWrapper->
getEngine(ctx);
726 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: in SiSmearedDigizationTool::digitize() ---" );
732 elementsPixel = pixelDetEle.retrieve();
733 if (elementsPixel==
nullptr) {
735 return StatusCode::FAILURE;
742 elementsSCT = sctDetEle.retrieve();
743 if (elementsSCT==
nullptr) {
745 return StatusCode::FAILURE;
763 int barrelEC = hit->getBarrelEndcap();
764 int layerDisk = hit->getLayerDisk();
766 int etaModule = hit->getEtaModule();
775 ATH_MSG_DEBUG(
"Pixel SiDetectorElement --> barrel_ec " << barrelEC <<
", layer_disk " << layerDisk <<
", phi_module " <<
phiModule <<
", eta_module " << etaModule );
776 hitSiDetElement = hitSiDetElement_temp;
778 side = hit->getSide();
782 ATH_MSG_DEBUG(
"SCT SiDetectorElement --> barrel_ec " << barrelEC <<
", layer_disk " << layerDisk <<
", phi_module " <<
phiModule <<
", eta_module " << etaModule <<
", side " <<
side);
783 hitSiDetElement = hitSiDetElement_temp;
791 if (not hitSiDetElement) {
792 ATH_MSG_FATAL(
"hitSiDetElement is null in SiSmearedDigitizationTool:"<<__LINE__);
793 throw std::runtime_error(std::string(
"hitSiDetElement is null in SiSmearedDigitizationTool::digitize() "));
796 if (
m_SmearPixel && !(hitSiDetElement->isPixel()))
continue;
797 if (!
m_SmearPixel && !(hitSiDetElement->isSCT()))
continue;
799 IdentifierHash waferID;
807 HepGeom::Point3D<double> pix_localStartPosition = hit->localStartPosition();
808 HepGeom::Point3D<double> pix_localEndPosition = hit->localEndPosition();
810 pix_localStartPosition = hitSiDetElement->hitLocalToLocal3D(pix_localStartPosition);
811 pix_localEndPosition = hitSiDetElement->hitLocalToLocal3D(pix_localEndPosition);
813 double localEntryX = pix_localStartPosition.x();
814 double localEntryY = pix_localStartPosition.y();
815 double localEntryZ = pix_localStartPosition.z();
816 double localExitX = pix_localEndPosition.x();
817 double localExitY = pix_localEndPosition.y();
818 double localExitZ = pix_localEndPosition.z();
820 double thickness = 0.0;
821 thickness = hitSiDetElement->thickness();
825 HepGeom::Point3D<double> sct_localStartPosition = hit->localStartPosition();
826 HepGeom::Point3D<double> sct_localEndPosition = hit->localEndPosition();
828 sct_localStartPosition = hitSiDetElement->hitLocalToLocal3D(sct_localStartPosition);
829 sct_localEndPosition = hitSiDetElement->hitLocalToLocal3D(sct_localEndPosition);
831 localEntryX = sct_localStartPosition.x();
832 localEntryY = sct_localStartPosition.y();
833 localEntryZ = sct_localStartPosition.z();
834 localExitX = sct_localEndPosition.x();
835 localExitY = sct_localEndPosition.y();
836 localExitZ = sct_localEndPosition.z();
839 double distX = std::abs(std::abs(localExitX)-std::abs(localEntryX));
840 double distY = std::abs(std::abs(localExitY)-std::abs(localEntryY));
843 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: pixel start position --- " << localEntryX <<
", " << localEntryY <<
", " << localEntryZ );
844 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: pixel exit position --- " << localExitX <<
", " << localExitY <<
", " << localExitZ );
852 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: SCT start position --- " << localEntryX <<
", " << localEntryY <<
", " << localEntryZ );
853 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: SCT exit position --- " << localExitX <<
", " << localExitY <<
", " << localExitZ );
866 std::vector<Identifier> rdoList;
868 Amg::Vector3D localDirection(localExitX-localEntryX, localExitY-localEntryY, localExitZ-localEntryZ);
874 Identifier entryId = hitSiDetElement->identifierOfPosition(localEntry);
875 Identifier exitId = hitSiDetElement->identifierOfPosition(localExit);
878 entryCellId = hitSiDetElement->cellIdFromIdentifier(entryId);
879 exitCellId = hitSiDetElement->cellIdFromIdentifier(exitId);
881 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: entryId " << entryId <<
" --- exitId " << exitId );
882 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: entryCellId " << entryCellId <<
" --- exitCellId " << exitCellId );
884 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: surface " << hitSiDetElement->surface());
887 bool entryValid = entryCellId.
isValid();
888 bool exitValid = exitCellId.
isValid();
890 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: entryValid? " << entryValid <<
" --- exitValid? " << exitValid );
892 if (!entryValid && !exitValid)
continue;
895 double interX = 0.5*(localEntryX+localExitX);
896 double interY = 0.5*(localEntryY+localExitY);
907 double newdistX = distX - (timesX*
m_pitch_X);
908 double newdistY = distY - (timesY*
m_pitch_Y);
910 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: times X --- " << timesX );
911 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: times Y --- " << timesY );
912 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: new dist X --- " << newdistX );
913 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: new dist Y --- " << newdistY );
914 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: thickness --- " << thickness );
918 double ProbY = 2*newdistY/(
m_pitch_Y+newdistY);
919 double ProbX = 2*newdistX/(
m_pitch_X+newdistX);
921 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: ProbX --- " << ProbX );
922 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: ProbY --- " << ProbY );
931 int elementX = timesX+1;
932 int elementY = timesY+1;
935 if (CLHEP::RandFlat::shoot(rndmEngine, 0.0, 1.0) < ProbY) {
941 if (CLHEP::RandFlat::shoot(rndmEngine, 0.0, 1.0) < ProbX) {
952 double temp_X = interX;
953 double temp_Y = interY;
960 intersectionId = hitSiDetElement->identifierOfPosition(
intersection);
962 rdoList.push_back(intersectionId);
963 InDetDD::SiCellId currentCellId = hitSiDetElement->cellIdFromIdentifier(intersectionId);
965 if (!currentCellId.
isValid())
continue;
967 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: Intersection Id = " << intersectionId <<
" --- currentCellId = " << currentCellId );
975 ATH_MSG_WARNING(
"--- SiSmearedDigitizationTool: pitchX and/or pitchY are 0. Cluster length is forced to be 1. mm");
982 covariance.setIdentity();
997 return StatusCode::FAILURE;
1042 double clusterWidth = rdoList.size()*hitSiDetElement->phiPitch(
intersection);
1043 const std::pair<InDetDD::SiLocalPosition, InDetDD::SiLocalPosition> ends(design_sct->
endsOfStrip(
intersection));
1044 double stripLength = std::abs(ends.first.xEta()-ends.second.xEta());
1063 if(colRow.x() == 1) {
1066 else if(colRow.x() == 2) {
1074 double sn = hitSiDetElement->sinStereoLocal(
intersection);
1076 double cs2 = 1.-sn2;
1077 double w = hitSiDetElement->phiPitch(
intersection)/hitSiDetElement->phiPitch();
1088 std::vector<Identifier>(rdoList),
1093 m_sctClusterMap->insert(std::pair<IdentifierHash, InDet::SCT_Cluster* >(waferID, sctCluster));
1097 return StatusCode::FAILURE;
1102 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: SCT_Cluster --> " << *sctCluster);
1108 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: BEFORE SMEARING LocalPosition --> X = " <<
m_x_SCT );
1121 return StatusCode::SUCCESS;
◆ FillTruthMap()
template<typename CLUSTER >
Definition at line 479 of file SiSmearedDigitizationTool.cxx.
481 ATH_MSG_DEBUG(
"Truth map filling with cluster " << *cluster <<
" and link = " << hit->particleLink());
482 if (hit->particleLink().isValid()){
484 map->insert(std::make_pair(cluster->identify(), hit->particleLink()));
485 ATH_MSG_DEBUG(
"Truth map filled with cluster " << *cluster <<
" and link = " << hit->particleLink());
488 ATH_MSG_DEBUG(
"Particle link NOT valid!! Truth map NOT filled with cluster" << cluster <<
" and link = " << hit->particleLink());
491 return StatusCode::SUCCESS;
◆ filterPassed()
virtual bool PileUpToolBase::filterPassed |
( |
| ) |
const |
|
inlineoverridevirtualinherited |
◆ finalize()
StatusCode SiSmearedDigitizationTool::finalize |
( |
| ) |
|
◆ initialize()
StatusCode SiSmearedDigitizationTool::initialize |
( |
| ) |
|
|
virtual |
Reimplemented from PileUpToolBase.
Definition at line 135 of file SiSmearedDigitizationTool.cxx.
144 return StatusCode::FAILURE;
149 return StatusCode::FAILURE;
155 return StatusCode::FAILURE;
168 return StatusCode::FAILURE;
178 return StatusCode::FAILURE;
187 m_outputFile =
new TFile(
"CheckSmearing_Pixel.root",
"RECREATE");
188 m_currentTree =
new TTree(
"PixelTree",
"Check smearing Pixel");
207 return StatusCode::FAILURE;
213 m_outputFile =
new TFile(
"CheckSmearing_SCT.root",
"RECREATE");
230 return StatusCode::FAILURE;
239 return StatusCode::SUCCESS;
◆ mergeClusters() [1/2]
Definition at line 583 of file SiSmearedDigitizationTool.cxx.
588 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: in mergeClusters() using PixelClusters --- ");
593 for (;
i !=
e;
i = cluster_map->upper_bound(
i->first)){
594 IdentifierHash current_id =
i->first;
597 bool NewMerge =
true;
601 std::pair <Pixel_detElement_RIO_map::iterator, Pixel_detElement_RIO_map::iterator>
range = cluster_map->equal_range(current_id);
611 std::vector<Identifier> rdoList;
621 rdoList.push_back(intersectionId);
625 if ( !currentCellId.
isValid() ) {
634 std::move(clusterErr));
637 cluster_map->erase(iter);
647 return StatusCode::SUCCESS;
◆ mergeClusters() [2/2]
◆ mergeEvent()
StatusCode SiSmearedDigitizationTool::mergeEvent |
( |
const EventContext & |
ctx | ) |
|
◆ operator=()
◆ prepareEvent()
StatusCode SiSmearedDigitizationTool::prepareEvent |
( |
const EventContext & |
ctx, |
|
|
unsigned int |
|
|
) |
| |
◆ processAllSubEvents() [1/2]
StatusCode SiSmearedDigitizationTool::processAllSubEvents |
( |
const EventContext & |
ctx | ) |
|
|
virtual |
Reimplemented from PileUpToolBase.
Definition at line 314 of file SiSmearedDigitizationTool.cxx.
316 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: in pixel processAllSubEvents() ---" );
324 ATH_MSG_FATAL(
"[ --- ] Could not create PixelClusterContainer");
325 return StatusCode::FAILURE;
334 ATH_MSG_FATAL(
"[ hitproc ] Error while registering PixelCluster container");
335 return StatusCode::FAILURE;
343 ATH_MSG_FATAL(
"[ --- ] PixelClusterContainer could not be symlinked to SiClusterContainter in StoreGate !" );
344 return StatusCode::FAILURE;
346 ATH_MSG_INFO(
"[ hitproc ] PixelClusterContainer symlinked to SiClusterContainer in StoreGate" );
353 ATH_MSG_FATAL(
"[ --- ] Could not create SCT_ClusterContainer");
354 return StatusCode::FAILURE;
361 ATH_MSG_FATAL(
"[ hitproc ] Error while registering SCT_Cluster container");
362 return StatusCode::FAILURE;
368 ATH_MSG_FATAL(
"[ --- ] SCT_ClusterContainer could not be symlinked to SiClusterContainter in StoreGate !" );
369 return StatusCode::FAILURE;
371 ATH_MSG_DEBUG(
"[ hitproc ] SCT_ClusterContainer symlinked to SiClusterContainer in StoreGate" );
378 return StatusCode::FAILURE;
387 TimedHitCollList hitCollList;
388 unsigned int numberOfSimHits(0);
391 return StatusCode::FAILURE;
405 while ( iColl != endColl ) {
410 thpcsi.insert(iColl->first, p_collection);
411 ATH_MSG_DEBUG (
"SiHitCollection found with " << p_collection->size() <<
" hits" );
416 if(this->
digitize(ctx, thpcsi).isFailure()) {
418 return StatusCode::FAILURE;
424 return StatusCode::FAILURE;
429 return StatusCode::FAILURE;
435 return StatusCode::SUCCESS;
◆ processAllSubEvents() [2/2]
virtual StatusCode IPileUpTool::processAllSubEvents |
|
inherited |
dummy implementation to allow compilation while all Digitization packages are migrated to use this new interface.
◆ processBunchXing()
Reimplemented from PileUpToolBase.
Definition at line 273 of file SiSmearedDigitizationTool.cxx.
277 ATH_MSG_DEBUG(
"--- SiSmearedDigitizationTool: in pixel processBunchXing() ---" );
284 TimedHitCollList hitCollList;
287 bSubEvents, eSubEvents).isSuccess()) &&
288 hitCollList.empty()) {
290 return StatusCode::FAILURE;
299 for( ; iColl != endColl; ++iColl) {
305 <<
" index: " << timeIndex.index()
306 <<
" type: " << timeIndex.type());
310 return StatusCode::SUCCESS;
◆ resetFilter()
virtual void PileUpToolBase::resetFilter |
( |
| ) |
|
|
inlineoverridevirtualinherited |
◆ retrieveTruth()
StatusCode SiSmearedDigitizationTool::retrieveTruth |
( |
| ) |
|
Definition at line 439 of file SiSmearedDigitizationTool.cxx.
449 return StatusCode::FAILURE;
454 return StatusCode::FAILURE;
463 return StatusCode::FAILURE;
468 return StatusCode::FAILURE;
474 return StatusCode::SUCCESS;
◆ toProcess()
virtual bool PileUpToolBase::toProcess |
( |
int |
bunchXing | ) |
const |
|
inlineoverridevirtualinherited |
◆ m_checkSmear
bool SiSmearedDigitizationTool::m_checkSmear |
|
private |
◆ m_currentTree
TTree* SiSmearedDigitizationTool::m_currentTree |
|
private |
◆ m_emulateAtlas
bool SiSmearedDigitizationTool::m_emulateAtlas |
|
private |
◆ m_Err_x_pixel
double SiSmearedDigitizationTool::m_Err_x_pixel |
|
private |
◆ m_Err_x_SCT
double SiSmearedDigitizationTool::m_Err_x_SCT |
|
private |
◆ m_Err_y_pixel
double SiSmearedDigitizationTool::m_Err_y_pixel |
|
private |
◆ m_Err_y_SCT
double SiSmearedDigitizationTool::m_Err_y_SCT |
|
private |
◆ m_filterPassed
bool PileUpToolBase::m_filterPassed {true} |
|
protectedinherited |
◆ m_firstXing
Gaudi::Property<int> PileUpToolBase::m_firstXing |
|
protectedinherited |
Initial value:{this, "FirstXing", -999,
"First bunch-crossing in which det is live"}
Definition at line 54 of file PileUpToolBase.h.
◆ m_HardScatterSplittingMode
int SiSmearedDigitizationTool::m_HardScatterSplittingMode |
|
private |
◆ m_HardScatterSplittingSkipper
bool SiSmearedDigitizationTool::m_HardScatterSplittingSkipper |
|
private |
◆ m_inputObjectName
std::string SiSmearedDigitizationTool::m_inputObjectName |
|
private |
◆ m_lastXing
Gaudi::Property<int> PileUpToolBase::m_lastXing |
|
protectedinherited |
Initial value:{this, "LastXing", 999,
"Last bunch-crossing in which det is live"}
Definition at line 56 of file PileUpToolBase.h.
◆ m_merge
bool SiSmearedDigitizationTool::m_merge |
|
private |
◆ m_mergeSvc
◆ m_nSigma
double SiSmearedDigitizationTool::m_nSigma |
|
private |
◆ m_outputFile
TFile* SiSmearedDigitizationTool::m_outputFile |
|
private |
◆ m_pitch_X
float SiSmearedDigitizationTool::m_pitch_X |
|
private |
◆ m_pitch_Y
float SiSmearedDigitizationTool::m_pitch_Y |
|
private |
◆ m_pixel_ID
◆ m_pixel_SiClustersName
std::string SiSmearedDigitizationTool::m_pixel_SiClustersName |
|
private |
◆ m_pixelClusterContainer
◆ m_pixelClusterMap
◆ m_pixelDetEleCollKey
◆ m_pixelPrdTruth
◆ m_prdTruthNamePixel
std::string SiSmearedDigitizationTool::m_prdTruthNamePixel |
|
private |
◆ m_prdTruthNameSCT
std::string SiSmearedDigitizationTool::m_prdTruthNameSCT |
|
private |
◆ m_randomEngineName
std::string SiSmearedDigitizationTool::m_randomEngineName |
|
private |
◆ m_rndmSvc
◆ m_sct_ID
◆ m_Sct_SiClustersName
std::string SiSmearedDigitizationTool::m_Sct_SiClustersName |
|
private |
◆ m_sctClusterContainer
◆ m_sctClusterMap
◆ m_SCTDetEleCollKey
◆ m_SCTPrdTruth
◆ m_siHitCollList
◆ m_simHitColl
◆ m_SmearPixel
bool SiSmearedDigitizationTool::m_SmearPixel |
|
private |
◆ m_thistSvc
ServiceHandle<ITHistSvc> SiSmearedDigitizationTool::m_thistSvc {this, "THistSvc", "THistSvc"} |
|
private |
◆ m_useDiscSurface
bool SiSmearedDigitizationTool::m_useDiscSurface |
|
private |
◆ m_vetoPileUpTruthLinks
Gaudi::Property<int> PileUpToolBase::m_vetoPileUpTruthLinks |
|
protectedinherited |
Initial value:{this, "VetoPileUpTruthLinks", true,
"Ignore links to suppressed pile-up truth"}
Definition at line 58 of file PileUpToolBase.h.
◆ m_x_entry_pixel
double SiSmearedDigitizationTool::m_x_entry_pixel |
|
private |
◆ m_x_entry_SCT
double SiSmearedDigitizationTool::m_x_entry_SCT |
|
private |
◆ m_x_exit_pixel
double SiSmearedDigitizationTool::m_x_exit_pixel |
|
private |
◆ m_x_exit_SCT
double SiSmearedDigitizationTool::m_x_exit_SCT |
|
private |
◆ m_x_pixel
double SiSmearedDigitizationTool::m_x_pixel |
|
private |
◆ m_x_pixel_global
double SiSmearedDigitizationTool::m_x_pixel_global |
|
private |
◆ m_x_pixel_smeared
double SiSmearedDigitizationTool::m_x_pixel_smeared |
|
private |
◆ m_x_SCT
double SiSmearedDigitizationTool::m_x_SCT |
|
private |
◆ m_x_SCT_global
double SiSmearedDigitizationTool::m_x_SCT_global |
|
private |
◆ m_x_SCT_smeared
double SiSmearedDigitizationTool::m_x_SCT_smeared |
|
private |
◆ m_y_entry_pixel
double SiSmearedDigitizationTool::m_y_entry_pixel |
|
private |
◆ m_y_entry_SCT
double SiSmearedDigitizationTool::m_y_entry_SCT |
|
private |
◆ m_y_exit_pixel
double SiSmearedDigitizationTool::m_y_exit_pixel |
|
private |
◆ m_y_exit_SCT
double SiSmearedDigitizationTool::m_y_exit_SCT |
|
private |
◆ m_y_pixel
double SiSmearedDigitizationTool::m_y_pixel |
|
private |
◆ m_y_pixel_global
double SiSmearedDigitizationTool::m_y_pixel_global |
|
private |
◆ m_y_pixel_smeared
double SiSmearedDigitizationTool::m_y_pixel_smeared |
|
private |
◆ m_y_SCT_global
double SiSmearedDigitizationTool::m_y_SCT_global |
|
private |
◆ m_z_entry_pixel
double SiSmearedDigitizationTool::m_z_entry_pixel |
|
private |
◆ m_z_entry_SCT
double SiSmearedDigitizationTool::m_z_entry_SCT |
|
private |
◆ m_z_exit_pixel
double SiSmearedDigitizationTool::m_z_exit_pixel |
|
private |
◆ m_z_exit_SCT
double SiSmearedDigitizationTool::m_z_exit_SCT |
|
private |
◆ m_z_pixel_global
double SiSmearedDigitizationTool::m_z_pixel_global |
|
private |
◆ m_z_SCT_global
double SiSmearedDigitizationTool::m_z_SCT_global |
|
private |
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
JetConstituentVector::iterator iterator
Identifier identifierOfPosition(const Amg::Vector2D &localPos) const
Full identifier of the cell for a given position: assumes a raw local position (no Lorentz shift)
void setSeed(const std::string &algName, const EventContext &ctx)
Set the random seed using a string (e.g.
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Eigen::Matrix< double, 2, 1 > Vector2D
const Amg::Vector2D & widthPhiRZ() const
A PRD is mapped onto all contributing particles.
bool isValid() const
Test if its in a valid state.
Trk::PrepRawDataContainer< SCT_ClusterCollection > SCT_ClusterContainer
Trk::PrepRawDataContainer< PixelClusterCollection > PixelClusterContainer
#define ATH_MSG_VERBOSE(x)
bool ignoreTruthLink(const T &p, bool vetoPileUp)
Helper function for SDO creation in PileUpTools.
bool nextDetectorElement(const_iterator &b, const_iterator &e)
sets an iterator range with the hits of current detector element returns a bool when done
std::vector< std::string > intersection(std::vector< std::string > &v1, std::vector< std::string > &v2)
#define AmgSymMatrix(dim)
Identifier wafer_id(int barrel_ec, int layer_disk, int phi_module, int eta_module) const
For a single crystal.
std::list< value_t > type
type of the collection of timed data object
virtual SiCellId cellIdFromIdentifier(const Identifier &identifier) const override final
SiCellId from Identifier.
IdentifierHash wafer_hash(Identifier wafer_id) const
wafer hash from id
void setHashAndIndex(unsigned short collHash, unsigned short objIndex)
TEMP for testing: might make some classes friends later ...
IdentifierHash wafer_hash(const Identifier &wafer_id) const
wafer hash from id - optimized
Ensure that the ATLAS eigen extensions are properly loaded.
Definition of ATLAS Math & Geometry primitives (Amg)
size_type wafer_hash_max(void) const
A wrapper class for event-slot-local random engines.
double error(const Amg::MatrixX &mat, int index)
return diagonal error of the matrix caller should ensure the matrix is symmetric and the index is in ...
const Amg::Vector2D & localPosition() const
return the local position reference
StatusCode initialize(bool used=true)
size_type wafer_hash_max(void) const
Trk::PrepRawDataContainer< SiClusterCollection > SiClusterContainer
Eigen::Matrix< double, 3, 1 > Vector3D
CLHEP::HepRandomEngine * getEngine(const EventContext &ctx) const
Retrieve the random engine corresponding to the provided EventContext.
AtlasHitsVector< SiHit > SiHitCollection
const Amg::Vector3D & globalPosition() const
return global position reference
#define ATH_MSG_WARNING(x)
const Amg::Vector2D & colRow() const
Identifier wafer_id(int barrel_ec, int layer_disk, int phi_module, int eta_module, int side) const
For a single side of module.
Trk::PrepRawDataCollection< SCT_Cluster > SCT_ClusterCollection
constexpr int pow(int base, int exp) noexcept
a struct encapsulating the identifier of a pile-up event
virtual std::pair< SiLocalPosition, SiLocalPosition > endsOfStrip(const SiLocalPosition &position) const override=0
give the ends of strips
const SiDetectorElement * getDetectorElement(const IdentifierHash &hash) const
virtual Identifier identify() const override final
identifier of this detector element (inline)
Trk::PrepRawDataCollection< PixelCluster > PixelClusterCollection