Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
#include <TGCOutputModifier.h>
|
| TGCOutputModifier (const std::string &name, ISvcLocator *pSvcLocator) |
|
virtual | ~TGCOutputModifier () |
|
virtual StatusCode | initialize () override |
| Regular Gaudi algorithm initialization function. More...
|
|
virtual StatusCode | execute (const EventContext &eventContext) const override |
| Regular Gaudi algorithm execute function. More...
|
|
virtual StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual bool | isClonable () const override |
| Specify if the algorithm is clonable. More...
|
|
virtual unsigned int | cardinality () const override |
| Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant. More...
|
|
virtual StatusCode | sysExecute (const EventContext &ctx) override |
| Execute an algorithm. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. More...
|
|
virtual bool | filterPassed (const EventContext &ctx) const |
|
virtual void | setFilterPassed (bool state, const EventContext &ctx) const |
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
SG::ReadHandleKey< LVL1MUONIF::Lvl1MuCTPIInputPhase1 > | m_inputKey {this,"InputMuctpiLocation","L1MuctpiStoreTGC","Input Tgc2Muctpi interface container"} |
|
SG::WriteHandleKey< LVL1MUONIF::Lvl1MuCTPIInputPhase1 > | m_outputKey {this, "OutputMuctpiLocation", "L1MuctpiStoreTGCmod", "Output Tgc2Muctpi interface container"} |
|
ToolHandle< LVL1::ITrigT1MuonRecRoiTool > | m_recTGCRoiTool {this,"TrigT1TGCRecRoiTool","LVL1::TrigT1TGCRecRoiTool","hoge"} |
|
SG::ReadHandleKey< xAOD::MuonSegmentContainer > | m_musegKey {this,"MuonSegmentContainer","xaodMuonSegments","MuonSegmentContainer"} |
|
DoubleProperty | m_deltaThetaCut1 {this,"DeltaThetaCut1", 0.008,"Delta theta cut for MuonSegment in low-eta region"} |
|
DoubleProperty | m_deltaEtaCut1 {this,"DeltaEtaCut1", 0.09,"Delta eta cut for MuonSegment and RoI position in low-eta region"} |
|
DoubleProperty | m_deltaPhiCut1 {this,"DeltaPhiCut1", 0.16,"Delta phi cut for MuonSegment and RoI position in low-eta region"} |
|
DoubleProperty | m_deltaThetaCut2 {this,"DeltaThetaCut2", 0.001,"Delta theta cut for MuonSegment in high-eta region"} |
|
DoubleProperty | m_deltaEtaCut2 {this,"DeltaEtaCut2", 0.16,"Delta eta cut for MuonSegment and RoI position in high-eta region"} |
|
DoubleProperty | m_deltaPhiCut2 {this,"DeltaPhiCut2", 0.19,"Delta phi cut for MuonSegment and RoI position in high-eta region"} |
|
DoubleProperty | m_etaBoundary1 {this,"EtaBoundary1", 1.9,"Eta boundary where the cuts1 are applied"} |
|
DoubleProperty | m_etaBoundary2 {this,"EtaBoundary2", 2.1,"Eta boundary where the cuts2 are applied"} |
|
BooleanProperty | m_emulateA {this,"EmulateA", true,"Emulate A-side"} |
|
BooleanProperty | m_emulateC {this,"EmulateC", true,"Emulate C-side"} |
|
BooleanProperty | m_nswVetoMode {this,"NSWVetoMode", true,"NSW veto mode or monitoring mode"} |
|
DataObjIDColl | m_extendedExtraObjects |
| Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks. More...
|
|
StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) More...
|
|
StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) More...
|
|
std::vector< SG::VarHandleKeyArray * > | m_vhka |
|
bool | m_varHandleArraysDeclared |
|
Definition at line 27 of file TGCOutputModifier.h.
◆ StoreGateSvc_t
◆ TGCOutputModifier()
LVL1TGCTrigger::TGCOutputModifier::TGCOutputModifier |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ ~TGCOutputModifier()
LVL1TGCTrigger::TGCOutputModifier::~TGCOutputModifier |
( |
| ) |
|
|
virtual |
◆ cardinality()
Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.
Override this to return 0 for reentrant algorithms.
Override this to return 0 for reentrant algorithms.
Definition at line 75 of file AthCommonReentrantAlgorithm.cxx.
◆ Copy()
Definition at line 135 of file TGCOutputModifier.cxx.
141 for (
unsigned int icand=0;
143 sldataNew.
roi(icand,sldataOrg->
roi(icand));
144 sldataNew.
pt(icand,sldataOrg->
pt(icand));
145 sldataNew.
ovl(icand,sldataOrg->
ovl(icand));
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode LVL1TGCTrigger::TGCOutputModifier::execute |
( |
const EventContext & |
eventContext | ) |
const |
|
overridevirtual |
Regular Gaudi algorithm execute function.
Definition at line 55 of file TGCOutputModifier.cxx.
58 if(!rh_muctpiTgc.isValid()){
59 ATH_MSG_ERROR(
"Cannot retrieve LVL1MUONIF::Lvl1MuCTPIInputPhase1");
60 return StatusCode::FAILURE;
64 std::vector<const xAOD::MuonSegment*> muSegDataColl;
67 if(!rh_museg.isValid()){
69 return StatusCode::FAILURE;
72 for(
auto seg : *muSegContainer){
77 muSegDataColl.push_back(seg);
82 ATH_CHECK(wh_muctpiTgc.record(std::make_unique<LVL1MUONIF::Lvl1MuCTPIInputPhase1>()));
87 LVL1MUONIF::Lvl1MuCTPIInputPhase1::MuonSystem::Forward};
88 for(
auto isys : tgc_systems){
90 for(
auto bcmu : *
data){
91 int bcid = bcmu.first;
92 auto muvec = bcmu.second;
93 for(
size_t i = 0 ;
i < muvec.size() ;
i++){
94 auto sectorData = muvec.at(
i).get();
101 size_t isub = (
i<numberOfSectors)
102 ?(LVL1MUONIF::Lvl1MuCTPIInputPhase1::MuonSubSystem::C_side):(LVL1MUONIF::Lvl1MuCTPIInputPhase1::MuonSubSystem::A_side);
103 size_t isec =
i % numberOfSectors;
109 Copy(sectorData,sldata);
110 Update(muSegDataColl,sldata,isys,isub,isec);
112 }
else if(isys==LVL1MUONIF::Lvl1MuCTPIInputPhase1::MuonSystem::Forward){
114 size_t isub = (
i<numberOfSectors)
115 ?(LVL1MUONIF::Lvl1MuCTPIInputPhase1::MuonSubSystem::C_side):(LVL1MUONIF::Lvl1MuCTPIInputPhase1::MuonSubSystem::A_side);
116 size_t isec =
i % numberOfSectors;
122 Copy(sectorData,sldata);
123 Update(muSegDataColl,sldata,isys,isub,isec);
132 return StatusCode::SUCCESS;
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ extraOutputDeps()
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 94 of file AthCommonReentrantAlgorithm.cxx.
◆ filterPassed()
◆ initialize()
StatusCode LVL1TGCTrigger::TGCOutputModifier::initialize |
( |
| ) |
|
|
overridevirtual |
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ isClonable()
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ renounce()
◆ renounceArray()
◆ setFilterPassed()
◆ sysExecute()
Execute an algorithm.
We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.
Definition at line 85 of file AthCommonReentrantAlgorithm.cxx.
◆ sysInitialize()
Override sysInitialize.
Override sysInitialize from the base class.
Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc
Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc
Reimplemented from AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >.
Reimplemented in InputMakerBase, and HypoBase.
Definition at line 61 of file AthCommonReentrantAlgorithm.cxx.
110 if (
sc.isFailure()) {
118 if ( cs.retrieve().isFailure() ) {
120 return StatusCode::SUCCESS;
122 if (cs->regHandle(
this,*
h).isFailure()) {
123 sc = StatusCode::FAILURE;
124 ATH_MSG_ERROR(
"unable to register WriteCondHandle " <<
h->fullKey()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ Update()
Definition at line 154 of file TGCOutputModifier.cxx.
163 int tmpsector = sectorId;
165 unsigned int sectorAddress = (tmpside) + (tmpsector<<1) + (tmptype<<6);
166 for (
unsigned int icand=0;
168 if(sldata.
pt(icand)<0)
continue;
169 int roi = sldata.
roi(icand);
170 unsigned long int roiWord = (roi<<2)+(sectorAddress<<14);
174 roiPos.SetPtEtaPhi(10,roiData.
eta(),roiData.
phi());
175 if( std::abs(roiPos.Eta()) < 1.3 )
continue;
177 <<
" roiEta=" << roiPos.Eta()
178 <<
" roiPhi=" << roiPos.Phi()
179 <<
" flagF=" << sldata.
bw2or3(icand)
181 <<
" flagH=" << sldata.
goodmf(icand) );
183 double deltaEtaCut=0,deltaPhiCut=0,deltaThetaCut=0;
195 for(
const auto seg : muSegDataColl){
196 TVector3 segPos(seg->x(),seg->y(),seg->z());
197 TVector3 segVec(seg->px(),seg->py(),seg->pz());
198 float deltaEta = std::abs( segPos.Eta() - roiPos.Eta() );
199 float deltaPhi = std::abs( segPos.DeltaPhi( roiPos ) );
200 float deltaTheta = std::abs( segVec.Theta() - segPos.Theta() );
201 bool tmpmatched = (
deltaEta < deltaEtaCut &&
203 deltaTheta < deltaThetaCut);
205 <<
" RoI pT=" << sldata.
pt(icand)
206 <<
" roiEta=" << roiPos.Eta()
207 <<
" roiPhi=" << roiPos.Phi()
208 <<
" segEta=" << segPos.Eta()
209 <<
" segPhi=" << segPos.Phi()
210 <<
" segEtaVec=" << segVec.Eta()
211 <<
" segPhiVec=" << segVec.Phi()
212 <<
" chi2=" << seg->chiSquared()
213 <<
" ndof=" << seg->numberDoF()
214 <<
" sector=" << seg->sector()
215 <<
" etaIndex=" << seg->etaIndex()
216 <<
" technology=" << seg->technology()
217 <<
" nPrecisionHits=" << seg->nPrecisionHits()
218 <<
" nPhiLayers=" << seg->nPhiLayers()
219 <<
" nTrigEtaLayers=" << seg->nTrigEtaLayers()
222 <<
" deltaTheta=" << deltaTheta);
◆ updateVHKA()
◆ m_deltaEtaCut1
DoubleProperty LVL1TGCTrigger::TGCOutputModifier::m_deltaEtaCut1 {this,"DeltaEtaCut1", 0.09,"Delta eta cut for MuonSegment and RoI position in low-eta region"} |
|
private |
◆ m_deltaEtaCut2
DoubleProperty LVL1TGCTrigger::TGCOutputModifier::m_deltaEtaCut2 {this,"DeltaEtaCut2", 0.16,"Delta eta cut for MuonSegment and RoI position in high-eta region"} |
|
private |
◆ m_deltaPhiCut1
DoubleProperty LVL1TGCTrigger::TGCOutputModifier::m_deltaPhiCut1 {this,"DeltaPhiCut1", 0.16,"Delta phi cut for MuonSegment and RoI position in low-eta region"} |
|
private |
◆ m_deltaPhiCut2
DoubleProperty LVL1TGCTrigger::TGCOutputModifier::m_deltaPhiCut2 {this,"DeltaPhiCut2", 0.19,"Delta phi cut for MuonSegment and RoI position in high-eta region"} |
|
private |
◆ m_deltaThetaCut1
DoubleProperty LVL1TGCTrigger::TGCOutputModifier::m_deltaThetaCut1 {this,"DeltaThetaCut1", 0.008,"Delta theta cut for MuonSegment in low-eta region"} |
|
private |
◆ m_deltaThetaCut2
DoubleProperty LVL1TGCTrigger::TGCOutputModifier::m_deltaThetaCut2 {this,"DeltaThetaCut2", 0.001,"Delta theta cut for MuonSegment in high-eta region"} |
|
private |
◆ m_detStore
◆ m_emulateA
BooleanProperty LVL1TGCTrigger::TGCOutputModifier::m_emulateA {this,"EmulateA", true,"Emulate A-side"} |
|
private |
◆ m_emulateC
BooleanProperty LVL1TGCTrigger::TGCOutputModifier::m_emulateC {this,"EmulateC", true,"Emulate C-side"} |
|
private |
◆ m_etaBoundary1
DoubleProperty LVL1TGCTrigger::TGCOutputModifier::m_etaBoundary1 {this,"EtaBoundary1", 1.9,"Eta boundary where the cuts1 are applied"} |
|
private |
◆ m_etaBoundary2
DoubleProperty LVL1TGCTrigger::TGCOutputModifier::m_etaBoundary2 {this,"EtaBoundary2", 2.1,"Eta boundary where the cuts2 are applied"} |
|
private |
◆ m_evtStore
◆ m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 114 of file AthCommonReentrantAlgorithm.h.
◆ m_inputKey
◆ m_musegKey
◆ m_nswVetoMode
BooleanProperty LVL1TGCTrigger::TGCOutputModifier::m_nswVetoMode {this,"NSWVetoMode", true,"NSW veto mode or monitoring mode"} |
|
private |
◆ m_outputKey
◆ m_recTGCRoiTool
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
char data[hepevt_bytes_allocation_ATLAS]
SG::WriteHandleKey< LVL1MUONIF::Lvl1MuCTPIInputPhase1 > m_outputKey
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
int innercoin(size_t id) const
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner setEtaMap setEtaBin setIsTgcFailure setDeltaPt deltaPhi
void Update(const std::vector< const xAOD::MuonSegment * > &segs, LVL1MUONIF::Lvl1MuSectorLogicDataPhase1 &sldata, size_t systemAddress, size_t subSystemAddress, size_t sectorAddress) const
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
DoubleProperty m_deltaThetaCut2
BooleanProperty m_emulateC
int bw2or3(size_t id) const
BooleanProperty m_emulateA
const std::string & key() const
Return the StoreGate ID for the referenced object.
Class representing data from an endcap SL board.
DoubleProperty m_etaBoundary1
virtual void setOwner(IDataHandleHolder *o)=0
An algorithm that can be simultaneously executed in multiple threads.
void Copy(const LVL1MUONIF::Lvl1MuSectorLogicDataPhase1 *sldataOrg, LVL1MUONIF::Lvl1MuSectorLogicDataPhase1 &sldataNew) const
void set2candidatesInSector()
virtual const DataObjIDColl & extraOutputDeps() const override
Return the list of extra output dependencies.
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
double deltaEta(const I4Momentum &p1, const I4Momentum &p2)
Computes efficiently .
::StatusCode StatusCode
StatusCode definition for legacy code.
DoubleProperty m_deltaThetaCut1
void clear2candidates(size_t id)
virtual StatusCode sysExecute(const EventContext &ctx) override
Execute an algorithm.
int charge(size_t id) const
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
void set2candidates(size_t id)
BooleanProperty m_nswVetoMode
SG::ReadHandleKey< xAOD::MuonSegmentContainer > m_musegKey
SG::ReadHandleKey< LVL1MUONIF::Lvl1MuCTPIInputPhase1 > m_inputKey
DoubleProperty m_deltaEtaCut2
Class representing data from an forward SL board.
DoubleProperty m_deltaPhiCut1
setEventNumber setTimeStamp bcid
int goodmf(size_t id) const
DoubleProperty m_deltaEtaCut1
#define ATH_MSG_WARNING(x)
bool is2candidates(size_t id) const
DoubleProperty m_etaBoundary2
ToolHandle< LVL1::ITrigT1MuonRecRoiTool > m_recTGCRoiTool
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
virtual StatusCode sysInitialize() override
Override sysInitialize.
void clear2candidatesInSector()
DoubleProperty m_deltaPhiCut2
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
bool is2candidatesInSector() const
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>