|
ATLAS Offline Software
|
#include <LArPileUpTool.h>
|
StatusCode | fillMapFromHit (const EventContext &ctx, float tbunch, bool isSignal, perEventData_t &data) const |
|
StatusCode | fillMapFromHit (SubEventIterator iEvt, float bunchTime, bool isSignal, perEventData_t &data) const |
|
StatusCode | AddHit (const Identifier cellId, const float energy, const float time, const bool iSignal, perEventData_t &data) const |
|
void | cross_talk (const IdentifierHash &idHash, const Identifier &cellId, const float &energy, std::vector< IdentifierHash > &neighbourList, std::vector< float > &energyList, const LArXTalkWeightGlobal &weights) const |
|
bool | fillMapfromSum (float bunchTime, perEventData_t &data) const |
|
|
ServiceHandle< PileUpMergeSvc > | m_mergeSvc {this, "PileUpMergeSvc", "PileUpMergeSvc", ""} |
|
SG::WriteHandleKey< LArHitEMap > | m_hitMapKey {this,"LArHitEMapKey","LArHitEMap"} |
|
SG::WriteHandleKey< LArHitEMap > | m_hitMapKey_DigiHSTruth {this,"LArHitEMap_DigiHSTruthKey","LArHitEMap_DigiHSTruth"} |
|
Gaudi::Property< bool > | m_onlyUseContainerName {this, "OnlyUseContainerName", true, "Don't use the ReadHandleKey directly. Just extract the container name from it."} |
|
StringArrayProperty | m_inputKeys |
|
SG::ReadHandleKeyArray< LArHitContainer > | m_hitContainerKeys |
|
SG::ReadHandleKeyArray< LArHitFloatContainer > | m_hitFloatContainerKeys |
|
SG::ReadHandleKey< LArDigitContainer > | m_inputDigitContainerKey |
|
SG::ReadHandleKey< CosTrigTime > | m_timeKey {this,"CosTimeKey","CosTrigTime"} |
|
std::vector< std::string > | m_hitContainerNames |
|
SG::ReadHandleKey< McEventCollection > | m_mcEventColl {this, "McEventCollectionKey", "TruthEvent", "McEventCollection"} |
|
Gaudi::Property< bool > | m_NoiseOnOff |
|
Gaudi::Property< bool > | m_PileUp |
|
Gaudi::Property< bool > | m_NoiseInEMB |
|
Gaudi::Property< bool > | m_NoiseInEMEC |
|
Gaudi::Property< bool > | m_NoiseInHEC |
|
Gaudi::Property< bool > | m_NoiseInFCAL |
|
Gaudi::Property< bool > | m_CrossTalk |
|
Gaudi::Property< bool > | m_CrossTalkStripMiddle |
|
Gaudi::Property< bool > | m_CrossTalk2Strip |
|
Gaudi::Property< bool > | m_CrossTalkMiddle |
|
Gaudi::Property< float > | m_scaleStripXtalk |
|
Gaudi::Property< float > | m_scaleStripMiddle |
|
Gaudi::Property< float > | m_scaleMiddleXtalk |
|
Gaudi::Property< bool > | m_Windows |
|
Gaudi::Property< float > | m_WindowsEtaSize |
|
Gaudi::Property< float > | m_WindowsPhiSize |
|
Gaudi::Property< float > | m_WindowsPtCut |
|
Gaudi::Property< double > | m_EnergyThresh |
|
Gaudi::Property< bool > | m_rndmEvtRun |
|
Gaudi::Property< bool > | m_useTriggerTime |
|
Gaudi::Property< bool > | m_RndmEvtOverlay |
|
Gaudi::Property< bool > | m_isMcOverlay |
|
Gaudi::Property< bool > | m_useMBTime |
|
Gaudi::Property< bool > | m_recordMap |
|
Gaudi::Property< bool > | m_useLArHitFloat |
|
Gaudi::Property< bool > | m_pedestalNoise |
|
Gaudi::Property< bool > | m_addPhase |
|
Gaudi::Property< float > | m_phaseMin |
|
Gaudi::Property< float > | m_phaseMax |
|
Gaudi::Property< bool > | m_ignoreTime |
|
Gaudi::Property< bool > | m_roundingNoNoise |
|
SG::ReadCondHandleKey< LArOnOffIdMapping > | m_cablingKey {this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"} |
|
SG::ReadCondHandleKey< LArXTalkWeightGlobal > | m_xtalkKey {this,"LArXTalkWeightGlobal","LArXTalkWeightGlobal","SG Key of XTalk vector of object"} |
|
SG::ReadCondHandleKey< CaloDetDescrManager > | m_caloMgrKey {this,"CaloDetDescrManager", "CaloDetDescrManager"} |
|
const CaloCell_ID * | m_calocell_id {} |
|
const LArEM_ID * | m_larem_id {} |
|
const LArHEC_ID * | m_larhec_id {} |
|
const LArFCAL_ID * | m_larfcal_id {} |
|
const LArOnlineID * | m_laronline_id {} |
|
Gaudi::Property< bool > | m_skipNoHit |
|
ServiceHandle< IAthRNGSvc > | m_rndmGenSvc {this, "RndmSvc", "AthRNGSvc", ""} |
|
Gaudi::Property< std::string > | m_randomStreamName {this, "RandomStreamName", "LArDigitization", ""} |
|
Gaudi::Property< uint32_t > | m_randomSeedOffset {this, "RandomSeedOffset", 2, ""} |
|
Gaudi::Property< bool > | m_useLegacyRandomSeeds |
|
Gaudi::Property< bool > | m_doDigiTruth |
|
perEventData_t | m_data |
|
Definition at line 60 of file LArPileUpTool.h.
◆ LArPileUpTool()
LArPileUpTool::LArPileUpTool |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
◆ ~LArPileUpTool()
LArPileUpTool::~LArPileUpTool |
( |
| ) |
|
|
default |
◆ AddHit()
Definition at line 711 of file LArPileUpTool.cxx.
717 return StatusCode::SUCCESS;
729 std::vector<IdentifierHash> neighbourList;
730 std::vector<float> energyList;
735 neighbourList,energyList, *
data.m_weights);
743 ATH_MSG_ERROR(
"subCalo value is invalid in LArPileUpTool::AddHit");
744 return StatusCode::FAILURE;
747 float e = energyList[
icell];
753 return(StatusCode::FAILURE);
758 return(StatusCode::FAILURE);
771 return(StatusCode::FAILURE);
776 return(StatusCode::FAILURE);
782 if (idHash<
data.m_energySum.size())
data.m_energySum[idHash] +=
energy;
785 return StatusCode::SUCCESS;
◆ cross_talk()
Definition at line 790 of file LArPileUpTool.cxx.
797 neighbourList.clear();
800 neighbourList.reserve(8);
801 energyList.reserve(8);
810 std::vector<IdentifierHash> tmpList;
815 if ((ibec==1 && sampling == 1 && region == 0)
816 || (ibec==2 && sampling ==1) )
823 if ( (ibec==1 &&
eta !=447) || (ibec==2 && (
eta!=3 || region !=5)) )
831 if (tmpList.size() == 1) {
834 neighbourList.push_back(tmpList[0]);
835 energyList.push_back(
e);
838 if (( (ibec==1 &&
eta !=446)
840 std::vector<IdentifierHash> tmpList2;
843 if (tmpList2.size()==1) {
846 neighbourList.push_back(tmpList2[0]);
847 energyList.push_back(
e);
856 if ( (ibec==1 &&
eta >1) || (ibec==2 && (
eta !=0 || region !=0)) )
863 if (tmpList.size() == 1) {
866 neighbourList.push_back(tmpList[0]);
867 energyList.push_back(
e);
870 if (( (ibec==1 &&
eta !=2)
872 std::vector<IdentifierHash> tmpList2;
875 if (tmpList2.size()==1) {
878 neighbourList.push_back(tmpList2[0]);
879 energyList.push_back(
e);
891 if ((ibec==1 && sampling==1 && region==0)
892 || (ibec==2 && sampling==1) )
897 if (ibec==1) fcr = fcr*2.;
899 if (region==0) fcr=fcr/4.;
900 if (region==1) fcr=fcr/4.;
901 if (region==2) fcr=fcr*2.;
902 if (region==3) fcr=fcr*1.5;
904 if (region==5) fcr=fcr/4.;
911 for (
unsigned int ii=0;ii<tmpList.size();ii++) {
913 neighbourList.push_back(tmpList[ii]);
914 energyList.push_back(
e);
920 if ((ibec==1 && sampling==2 && region==0)
921 || (ibec==2 && sampling==2) )
927 for (
unsigned int ii=0;ii<tmpList.size();ii++) {
930 neighbourList.push_back(tmpList[ii]);
937 energyList.push_back(
e);
946 if ((ibec==1 && sampling==2 && region==0 ) ||
947 (ibec==2 && sampling==2 && region==1)) {
963 if ( (ibec==1 &&
eta<55) || (ibec==2 &&
eta <42) ) {
967 if (tmpList.size() == 1) {
970 neighbourList.push_back(tmpList[0]);
971 energyList.push_back(
e);
976 if ( (ibec==1 &&
eta>0) || (ibec==2 &&
eta >0) ) {
980 if (tmpList.size() == 1) {
983 neighbourList.push_back(tmpList[0]);
984 energyList.push_back(
e);
992 if ( (ibec==1 && sampling ==2 && region == 0 )
993 || (ibec==2 && sampling ==2 && region ==1 &&
eta > 2)
994 || (ibec==3 && sampling ==1) )
1000 }
else if(ibec==3) {
1007 if (tmpList.size() == 1) {
1010 neighbourList.push_back(tmpList[0]);
1011 energyList.push_back(
e);
1017 if ( (ibec==1 && sampling == 3 && region == 0 )
1018 ||(ibec==2 && sampling ==3)
1019 ||(ibec==3 && sampling ==2) )
1025 }
else if(ibec==2) {
1028 }
else if(ibec==3) {
1035 if ((ibec==1 || ibec==2) && tmpList.size() == 2) {
1039 neighbourList.push_back(tmpList[0]);
1040 neighbourList.push_back(tmpList[1]);
1041 energyList.push_back(
e);
1042 energyList.push_back(
e);
1044 if (ibec==1 && tmpList.size()==1) {
1047 neighbourList.push_back(tmpList[0]);
1048 energyList.push_back(
e);
1050 if (ibec==3 && tmpList.size() ==1) {
1053 neighbourList.push_back(tmpList[0]);
1054 energyList.push_back(
e);
1060 neighbourList.push_back(hashId);
1061 energyList.push_back(er);
◆ fillMapFromHit() [1/2]
StatusCode LArPileUpTool::fillMapFromHit |
( |
const EventContext & |
ctx, |
|
|
float |
tbunch, |
|
|
bool |
isSignal, |
|
|
perEventData_t & |
data |
|
) |
| const |
|
private |
Definition at line 597 of file LArPileUpTool.cxx.
601 for (
auto & hit_container : hitVectorHandles) {
602 if (hit_container.isValid()) {
616 ATH_MSG_WARNING(
" LAr HitFloat container not found for signal event key " << hit_container.key());
623 for (
auto & hit_container : hitVectorHandles) {
624 if (hit_container.isValid()) {
625 for (
const LArHit* hit : *hit_container)
638 ATH_MSG_WARNING(
" LAr Hit container not found for signal event key " << hit_container.key());
644 return StatusCode::SUCCESS;
◆ fillMapFromHit() [2/2]
Definition at line 648 of file LArPileUpTool.cxx.
656 ATH_MSG_DEBUG(
" fillMapFromHit: asking for: " << containerName);
662 if (!(
m_mergeSvc->retrieveSingleSubEvtData(containerName, hit_container, bunchTime,
664 ATH_MSG_ERROR(
" LAr Hit container not found for event key " << containerName);
665 return StatusCode::FAILURE;
684 if (!(
m_mergeSvc->retrieveSingleSubEvtData(containerName, hit_container, bunchTime,
686 ATH_MSG_ERROR(
" LAr Hit container not found for event key " << containerName);
687 return StatusCode::FAILURE;
691 for(hititer=hit_container->
begin();
692 hititer != hit_container->
end();++hititer)
706 return StatusCode::SUCCESS;
◆ fillMapfromSum()
bool LArPileUpTool::fillMapfromSum |
( |
float |
bunchTime, |
|
|
perEventData_t & |
data |
|
) |
| const |
|
private |
Definition at line 1071 of file LArPileUpTool.cxx.
1073 for (
unsigned int i=0;
i<
data.m_energySum.size();
i++) {
1074 float e =
data.m_energySum[
i];
1076 if (!
data.m_hitmap->AddEnergy(
i,
e,bunchTime))
return false;
1078 data.m_energySum[
i]=0.;
1081 for (
unsigned int i=0;
i<
data.m_energySum_DigiHSTruth.size();
i++) {
1082 float e =
data.m_energySum_DigiHSTruth[
i];
1084 if (!
data.m_hitmap_DigiHSTruth->AddEnergy(
i,
e,bunchTime))
return false;
1086 data.m_energySum_DigiHSTruth[
i]=0.;
◆ filterPassed()
virtual bool PileUpToolBase::filterPassed |
( |
| ) |
const |
|
inlineoverridevirtualinherited |
◆ initialize()
StatusCode LArPileUpTool::initialize |
( |
| ) |
|
|
finaloverridevirtual |
Reimplemented from PileUpToolBase.
Definition at line 46 of file LArPileUpTool.cxx.
52 ATH_MSG_FATAL(
"Adding noise to hard-scatter Hits is not supported for Data Overlay! Fix your configuration. Bailing out.");
53 return StatusCode::FAILURE;
56 ATH_MSG_FATAL(
"MC overlay. Need to switch back on noise only to emulate extra noise for cells with different gains! Fix your configuration. Bailing out.");
57 return StatusCode::FAILURE;
60 ATH_MSG_FATAL(
"If RndmEvtOverlay==True then PileUp must also be True. Fix your configuration. Bailing out.");
61 return StatusCode::FAILURE;
64 ATH_MSG_FATAL(
"If PileUp==False then OnlyUserContainerName must also be False. Fix your configuration. Bailing out.");
65 return StatusCode::FAILURE;
71 ATH_MSG_INFO(
" pileup and/or noise added by overlaying digits of random events");
90 ATH_MSG_INFO(
" Electronic noise will be added in each cell ");
104 ATH_MSG_INFO(
" Cross-talk in EM barrel will be taken into account : ");
144 if (
sc.isFailure()) {
145 ATH_MSG_ERROR(
" Unable to retrieve CaloIdManager from DetectoreStore");
146 return StatusCode::FAILURE;
153 if (
sc.isFailure()) {
154 ATH_MSG_ERROR(
" Unable to retrieve LArOnlineId from DetectoreStore");
155 return StatusCode::FAILURE;
171 return StatusCode::SUCCESS;
◆ prepareEvent()
StatusCode LArPileUpTool::prepareEvent |
( |
const EventContext & |
ctx, |
|
|
unsigned int |
nInputEvents |
|
) |
| |
|
finaloverridevirtual |
Definition at line 175 of file LArPileUpTool.cxx.
190 return StatusCode::FAILURE;
196 ATH_CHECK(hitmap.record(std::move(hitMapPtr)));
198 ATH_MSG_DEBUG(
" Number of created cells in Map " << hitmap->GetNbCells());
205 ATH_CHECK(hitmap_DigiHSTruth.record(std::move(hitMapPtr)));
229 if ( evtStore()->
retrieve(mcCollptr).isFailure() ) {
230 ATH_MSG_WARNING (
"LArHitEMap:cannot retrieve McEventCollection (keyless)");
239 return StatusCode::SUCCESS;
◆ processAllSubEvents() [1/3]
StatusCode LArPileUpTool::processAllSubEvents |
( |
const EventContext & |
ctx | ) |
const |
Definition at line 298 of file LArPileUpTool.cxx.
304 if(!cablingHdl.isValid()) {
306 return StatusCode::FAILURE;
328 data.m_hitmap_DigiHSTruth=hitmap_DigiHSTruth.
ptr();
336 data.m_trigtime = cosTimeHdl->time();
353 data.m_hitmap->BuildWindows(mcCollptr,
357 data.m_hitmap_DigiHSTruth->BuildWindows(mcCollptr,
369 data.m_weights=weightHdl.cptr();
374 for (
auto & inputHits : hitVectorHandles) {
375 if (!inputHits.isValid()) {
377 return StatusCode::FAILURE;
380 double SubEvtTimOffset(0.0);
381 double timeCurrBunch=-9999999.;
382 for (
const LArHit* hit : *inputHits) {
386 else time = (
float) (SubEvtTimOffset+ hit->time() -
data.m_trigtime);
389 if (std::fabs(SubEvtTimOffset-timeCurrBunch)>1.) {
390 if (timeCurrBunch>-9999.) {
393 return(StatusCode::FAILURE);
396 timeCurrBunch = SubEvtTimOffset;
408 return StatusCode::FAILURE;
418 double timeCurrBunch=-9999999.;
422 TimedHitContList hitContList;
426 if (!(
m_mergeSvc->retrieveSubEvtsData(containerName
427 ,hitContList).isSuccess()) && hitContList.empty()) {
429 return StatusCode::FAILURE;
436 iEndCont = iFirstCont ;
437 ATH_MSG_DEBUG(
" random event overlay mode : only time 0 read ");
440 double SubEvtTimOffset;
441 while (iFirstCont != iEndCont) {
444 bool isSignal = ( iFirstCont == hitContList.begin());
446 SubEvtTimOffset = time_evt->
time();
450 for (
const LArHit* hit : firstCont) {
454 else time = (
float) (SubEvtTimOffset+ hit->time() -
data.m_trigtime);
458 if (std::fabs(SubEvtTimOffset-timeCurrBunch)>1.) {
459 if (timeCurrBunch>-9999.) {
462 return(StatusCode::FAILURE);
465 timeCurrBunch = SubEvtTimOffset;
477 TimedHitContList hitContList;
481 if (!(
m_mergeSvc->retrieveSubEvtsData(containerName
482 ,hitContList).isSuccess()) && hitContList.empty()) {
484 return StatusCode::FAILURE;
491 iEndCont = iFirstCont ;
492 ATH_MSG_DEBUG(
"random event overlay mode : only time 0 read ");
495 double SubEvtTimOffset;
496 while (iFirstCont != iEndCont) {
497 bool isSignal = ( iFirstCont == hitContList.begin());
501 SubEvtTimOffset = time_evt->
time();
509 else time = (
float) (SubEvtTimOffset+ hit.time() -
data.m_trigtime);
513 if (std::fabs(SubEvtTimOffset-timeCurrBunch)>1.) {
514 if (timeCurrBunch>-9999.) {
517 return(StatusCode::FAILURE);
520 timeCurrBunch = SubEvtTimOffset;
533 return(StatusCode::FAILURE);
545 if (!digitCollection.isValid()) {
546 ATH_MSG_ERROR(
"Could not get LArDigitContainer container " << digitCollection.name() <<
" from store " << digitCollection.store());
547 return StatusCode::FAILURE;
550 ATH_MSG_DEBUG(
"LArDigitContainer found with " << digitCollection->size() <<
" digits");
556 ATH_MSG_DEBUG(
" Number of digits stored for RndmEvt Overlay " << ndigit);
566 TimedDigitContList digitContList;
568 digitContList).isSuccess()) || digitContList.empty())
570 ATH_MSG_ERROR(
"Cannot retrieve LArDigitContainer for random event overlay or empty Container");
572 return StatusCode::FAILURE ;
575 double SubEvtTimOffset;
578 SubEvtTimOffset = time_evt->
time();
585 ATH_MSG_INFO(
" Number of digits stored for RndmEvt Overlay " << ndigit);
591 return StatusCode::SUCCESS;
◆ processAllSubEvents() [2/3]
StatusCode LArPileUpTool::processAllSubEvents |
( |
const EventContext & |
ctx | ) |
|
|
finaloverridevirtual |
◆ processAllSubEvents() [3/3]
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 245 of file LArPileUpTool.cxx.
248 float tbunch = (
float)(bunchXing);
249 const EventContext& ctx = Gaudi::Hive::currentContext();
254 while (iEvt != eSubEvents) {
263 return StatusCode::FAILURE;
275 ATH_MSG_INFO(
" Number of digits stored for RndmEvt Overlay " << ndigit);
285 return StatusCode::FAILURE;
289 return StatusCode::SUCCESS;
◆ resetFilter()
virtual void PileUpToolBase::resetFilter |
( |
| ) |
|
|
inlineoverridevirtualinherited |
◆ toProcess()
virtual bool PileUpToolBase::toProcess |
( |
int |
bunchXing | ) |
const |
|
inlineoverridevirtualinherited |
◆ m_addPhase
Gaudi::Property<bool> LArPileUpTool::m_addPhase |
|
private |
Initial value:{this, "AddPhase", false,
"Add random phase (default = false)"}
Definition at line 202 of file LArPileUpTool.h.
◆ m_cablingKey
◆ m_calocell_id
◆ m_caloMgrKey
◆ m_CrossTalk
Gaudi::Property<bool> LArPileUpTool::m_CrossTalk |
|
private |
Initial value:{this, "CrossTalk", true,
"Simulate cross-talk (default=true)"}
Definition at line 158 of file LArPileUpTool.h.
◆ m_CrossTalk2Strip
Gaudi::Property<bool> LArPileUpTool::m_CrossTalk2Strip |
|
private |
Initial value:{this, "CrossTalk2Strip", true,
"Add 2nd strip cross talk (if crosstalk is true) (default=true)"}
Definition at line 162 of file LArPileUpTool.h.
◆ m_CrossTalkMiddle
Gaudi::Property<bool> LArPileUpTool::m_CrossTalkMiddle |
|
private |
Initial value:{this, "CrossTalkMiddle", true,
"Add middle to middle cross talk for barrel(if crosstalk is true) (default=true)"}
Definition at line 164 of file LArPileUpTool.h.
◆ m_CrossTalkStripMiddle
Gaudi::Property<bool> LArPileUpTool::m_CrossTalkStripMiddle |
|
private |
Initial value:{this, "CrossTalkStripMiddle", true,
"Add strip/middle cross talk (if crosstalk is true) (default=true)"}
Definition at line 160 of file LArPileUpTool.h.
◆ m_data
◆ m_doDigiTruth
Gaudi::Property<bool> LArPileUpTool::m_doDigiTruth |
|
private |
Initial value:{this, "DoDigiTruthReconstruction", false,
"Also create information about reconstructed digits for HS hits"}
Definition at line 239 of file LArPileUpTool.h.
◆ m_EnergyThresh
Gaudi::Property<double> LArPileUpTool::m_EnergyThresh |
|
private |
Initial value:{this, "EnergyThresh", -99.,
"Hit energy threshold (default=-99)"}
Definition at line 182 of file LArPileUpTool.h.
◆ 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_hitContainerKeys
◆ m_hitContainerNames
std::vector<std::string> LArPileUpTool::m_hitContainerNames |
|
private |
◆ m_hitFloatContainerKeys
◆ m_hitMapKey
◆ m_hitMapKey_DigiHSTruth
◆ m_ignoreTime
Gaudi::Property<bool> LArPileUpTool::m_ignoreTime |
|
private |
Initial value:{this, "IgnoreTime", false,
"Set all hit time to 0, for debugging (default = false)"}
Definition at line 208 of file LArPileUpTool.h.
◆ m_inputDigitContainerKey
Initial value:{this, "InputDigitContainer", "",
"Name of input digit container"}
Definition at line 133 of file LArPileUpTool.h.
◆ m_inputKeys
StringArrayProperty LArPileUpTool::m_inputKeys |
|
private |
Initial value:{this, "InputHitContainers", {"LArHitEMB", "LArHitEMEC", "LArHitHEC", "LArHitFCAL"},
"Name of input hit vectors (default=[LArHitEMB, LArHitEMEC, LArHitHEC, LArHitFCAL])" }
Definition at line 129 of file LArPileUpTool.h.
◆ m_isMcOverlay
Gaudi::Property<bool> LArPileUpTool::m_isMcOverlay |
|
private |
Initial value:{this, "isMcOverlay", false,
"Is input Overlay from MC or data (default=false, from data)"}
Definition at line 191 of file LArPileUpTool.h.
◆ m_larem_id
◆ m_larfcal_id
◆ m_larhec_id
◆ m_laronline_id
◆ 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_mcEventColl
◆ m_mergeSvc
◆ m_NoiseInEMB
Gaudi::Property<bool> LArPileUpTool::m_NoiseInEMB |
|
private |
Initial value:{this, "NoiseInEMB", true,
"put noise in EMB (default=true)"}
Definition at line 149 of file LArPileUpTool.h.
◆ m_NoiseInEMEC
Gaudi::Property<bool> LArPileUpTool::m_NoiseInEMEC |
|
private |
Initial value:{this, "NoiseInEMEC", true,
"put noise in EMEC (default=true)"}
Definition at line 151 of file LArPileUpTool.h.
◆ m_NoiseInFCAL
Gaudi::Property<bool> LArPileUpTool::m_NoiseInFCAL |
|
private |
Initial value:{this, "NoiseInFCAL", true,
"put noise in FCAL (default=true)"}
Definition at line 155 of file LArPileUpTool.h.
◆ m_NoiseInHEC
Gaudi::Property<bool> LArPileUpTool::m_NoiseInHEC |
|
private |
Initial value:{this, "NoiseInHEC", true,
"put noise in HEC (default=true)"}
Definition at line 153 of file LArPileUpTool.h.
◆ m_NoiseOnOff
Gaudi::Property<bool> LArPileUpTool::m_NoiseOnOff |
|
private |
Initial value:{this, "NoiseOnOff", true,
"put electronic noise (default=true)"}
Definition at line 143 of file LArPileUpTool.h.
◆ m_onlyUseContainerName
Gaudi::Property<bool> LArPileUpTool::m_onlyUseContainerName {this, "OnlyUseContainerName", true, "Don't use the ReadHandleKey directly. Just extract the container name from it."} |
|
private |
◆ m_pedestalNoise
Gaudi::Property<bool> LArPileUpTool::m_pedestalNoise |
|
private |
Initial value:{this, "PedestalNoise", false,
"Use noise from Pedestal structure instead of LArNoise (default=false)"}
Definition at line 200 of file LArPileUpTool.h.
◆ m_phaseMax
Gaudi::Property<float> LArPileUpTool::m_phaseMax |
|
private |
Initial value:{this, "PhaseMax", 25.0,
"Maximum time to add (default=25)"}
Definition at line 206 of file LArPileUpTool.h.
◆ m_phaseMin
Gaudi::Property<float> LArPileUpTool::m_phaseMin |
|
private |
Initial value:{this, "PhaseMin", 0.,
"Minimum time to add (default=0)"}
Definition at line 204 of file LArPileUpTool.h.
◆ m_PileUp
Gaudi::Property<bool> LArPileUpTool::m_PileUp |
|
private |
Initial value:{this, "PileUp", false,
"Pileup mode (default=false)"}
Definition at line 145 of file LArPileUpTool.h.
◆ m_randomSeedOffset
Gaudi::Property<uint32_t> LArPileUpTool::m_randomSeedOffset {this, "RandomSeedOffset", 2, ""} |
|
private |
◆ m_randomStreamName
Gaudi::Property<std::string> LArPileUpTool::m_randomStreamName {this, "RandomStreamName", "LArDigitization", ""} |
|
private |
◆ m_recordMap
Gaudi::Property<bool> LArPileUpTool::m_recordMap |
|
private |
Initial value:{this, "RecordMap", true,
"Record LArHitEMap in detector store for use by LArL1Sim (default=true)"}
Definition at line 196 of file LArPileUpTool.h.
◆ m_RndmEvtOverlay
Gaudi::Property<bool> LArPileUpTool::m_RndmEvtOverlay |
|
private |
Initial value:{this, "RndmEvtOverlay", false,
"Pileup and/or noise added by overlaying random events (default=false)"}
Definition at line 189 of file LArPileUpTool.h.
◆ m_rndmEvtRun
Gaudi::Property<bool> LArPileUpTool::m_rndmEvtRun |
|
private |
Initial value:{this, "UseRndmEvtRun", false,
"Use Run and Event number to seed rndm number (default=false)"}
Definition at line 185 of file LArPileUpTool.h.
◆ m_rndmGenSvc
◆ m_roundingNoNoise
Gaudi::Property<bool> LArPileUpTool::m_roundingNoNoise |
|
private |
Initial value:{this, "RoundingNoNoise", true,
"if true add random number [0:1[ in no noise case before rounding ADC to integer, if false add only 0.5 average"}
Definition at line 210 of file LArPileUpTool.h.
◆ m_scaleMiddleXtalk
Gaudi::Property<float> LArPileUpTool::m_scaleMiddleXtalk |
|
private |
Initial value:{this, "scaleMiddleXtalk", 1.,
"Scale factor for middle xtalk"}
Definition at line 170 of file LArPileUpTool.h.
◆ m_scaleStripMiddle
Gaudi::Property<float> LArPileUpTool::m_scaleStripMiddle |
|
private |
Initial value:{this, "scaleStripMiddle", 1.,
"Scale factor for strip-middle xtalk"}
Definition at line 168 of file LArPileUpTool.h.
◆ m_scaleStripXtalk
Gaudi::Property<float> LArPileUpTool::m_scaleStripXtalk |
|
private |
Initial value:{this, "scaleStripXtalk", 1.,
"Scale factor for strip xtalk"}
Definition at line 166 of file LArPileUpTool.h.
◆ m_skipNoHit
Gaudi::Property<bool> LArPileUpTool::m_skipNoHit |
|
private |
Initial value:{this, "SkipNoHit", false,
"Skip events with no LAr hits (default=false)"}
Definition at line 227 of file LArPileUpTool.h.
◆ m_timeKey
◆ m_useLArHitFloat
Gaudi::Property<bool> LArPileUpTool::m_useLArHitFloat |
|
private |
Initial value:{this, "useLArFloat", true,
"Use simplified transient LArHit (default=false)"}
Definition at line 198 of file LArPileUpTool.h.
◆ m_useLegacyRandomSeeds
Gaudi::Property<bool> LArPileUpTool::m_useLegacyRandomSeeds |
|
private |
Initial value:{this, "UseLegacyRandomSeeds", false,
"Use MC16-style random number seeding"}
Definition at line 236 of file LArPileUpTool.h.
◆ m_useMBTime
Gaudi::Property<bool> LArPileUpTool::m_useMBTime |
|
private |
Initial value:{this, "UseMBTime", false,
"use detailed hit time from MB events in addition to bunch crossing time for pileup (default=false)"}
Definition at line 194 of file LArPileUpTool.h.
◆ m_useTriggerTime
Gaudi::Property<bool> LArPileUpTool::m_useTriggerTime |
|
private |
Initial value:{this, "UseTriggerTime", false,
"Use Trigger tool (for commissioning) (default=false)"}
Definition at line 187 of file LArPileUpTool.h.
◆ 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_Windows
Gaudi::Property<bool> LArPileUpTool::m_Windows |
|
private |
Initial value:{this, "Windows", false,
"Window mode (produce digits only around true e/photon) (default=false)"}
Definition at line 173 of file LArPileUpTool.h.
◆ m_WindowsEtaSize
Gaudi::Property<float> LArPileUpTool::m_WindowsEtaSize |
|
private |
Initial value:{this, "WindowsEtaSize", 0.4,
"Eta size of window (default=0.4)"}
Definition at line 175 of file LArPileUpTool.h.
◆ m_WindowsPhiSize
Gaudi::Property<float> LArPileUpTool::m_WindowsPhiSize |
|
private |
Initial value:{this, "WindowsPhiSize", 0.5,
"Phi size of window (default=0.5)"}
Definition at line 177 of file LArPileUpTool.h.
◆ m_WindowsPtCut
Gaudi::Property<float> LArPileUpTool::m_WindowsPtCut |
|
private |
Initial value:{this, "WindowsPtCut", 5000.,
"Pt cut on e/photons for window mode (Default=5GeV)"}
Definition at line 179 of file LArPileUpTool.h.
◆ m_xtalkKey
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
JetConstituentVector::iterator iterator
char data[hepevt_bytes_allocation_ATLAS]
SeedingOptionType
Options for seeding option=0 is setSeed as in MC20 option=1 is setSeedLegacy as in MC16 option=2 is s...
Const iterator class for DataVector/DataList.
IdentifierHash calo_cell_hash(const Identifier cellId) const
create hash id from 'global' cell id
Container for LArHitFloat.
Class to store hit energy and time in LAr cell from G4 simulation.
Scalar eta() const
pseudorapidity method
void setSeedLegacy(const std::string &algName, size_t slot, uint64_t ev, uint64_t run, uint64_t offset, SeedingOptionType seeding, EventContext::ContextEvt_t evt=EventContext::INVALID_CONTEXT_EVT)
Set the random seed using a string (e.g.
const LArEM_ID * getEM_ID(void) const
int region(const Identifier id) const
return region according to :
int sampling(const Identifier id) const
return sampling according to :
bool AddDigit(const LArDigit *digit)
#define ATH_MSG_VERBOSE(x)
const std::string & key() const
Return the StoreGate ID for the referenced object.
bool empty() const
Test if the key is blank.
Identifier channel_id(const ExpandedIdentifier &exp_id) const
Build a cell identifier from an expanded identifier.
int eta(const Identifier id) const
return eta according to :
boost::transform_iterator< make_const, typename CONT::const_iterator > const_iterator
std::list< value_t > type
type of the collection of timed data object
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
bool is_em(const Identifier id) const
test if the id belongs to LArEM
const LArHEC_ID * getHEC_ID(void) const
This class initializes the Calo (LAr and Tile) offline identifiers.
Liquid Argon digit base class.
::StatusCode StatusCode
StatusCode definition for legacy code.
pointer_type ptr()
Dereference the pointer.
const LArFCAL_ID * getFCAL_ID(void) const
bool BuildWindows(const McEventCollection *mcCollptr, float deta, float dphi, float ptmin)
int sub_calo(const Identifier id) const
returns an int taken from SUBCALO enum and describing the subCalo to which the Id belongs.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
This defines the McEventCollection, which is really just an ObjectVector of McEvent objects.
A wrapper class for event-slot-local random engines.
time_type time() const
bunch xing time in ns
int get_neighbours(const IdentifierHash id, const LArNeighbours::neighbourOption &option, std::vector< IdentifierHash > &neighbourList) const
access to hashes for neighbours return == 0 for neighbours found option = prevInPhi,...
int barrel_ec(const Identifier id) const
return barrel_ec according to :
StatusCode initialize(bool used=true)
Class to store hit energy and time in LAr cell from G4 simulation.
CLHEP::HepRandomEngine * getEngine(const EventContext &ctx) const
Retrieve the random engine corresponding to the provided EventContext.
This class provides the client interface for accessing the detector description information common to...
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
std::string show_to_string(Identifier id, const IdContext *context=0, char sep='.') const
or provide the printout in string form
def time(flags, cells_name, *args, **kw)
#define ATH_MSG_WARNING(x)
Container class for LArDigit.
const_iterator end() const
int GetNbCells(void) const
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
a struct encapsulating the identifier of a pile-up event
const_iterator begin() const