|
ATLAS Offline Software
|
POOL converter for the xAOD::ShallowAuxContainer class.
More...
#include <xAODShallowAuxContainerCnv.h>
|
virtual xAOD::ShallowAuxContainer * | createPersistentWithKey (xAOD::ShallowAuxContainer *trans, const std::string &key) override |
| Function preparing the container to be written out. More...
|
|
virtual xAOD::ShallowAuxContainer * | createTransientWithKey (const std::string &key) override |
| Function reading in the object from the input file. More...
|
|
virtual PERS * | createPersistentWithKey (TRANS *obj, const std::string &key)=0 |
| method to be implemented by the developer. More...
|
|
template<class P > |
P * | poolReadObject () |
| Read object of type P. More...
|
|
template<class P > |
void | poolReadObject (TopLevelTPCnvBase &tlp_converter) |
| Read object of type P (plus all extending objects) using the indicated top-level TP converter. More...
|
|
void | keepPoolObj (PERS *obj, const std::string &output) |
| Remember the POOL object to be written out (will be deleted after commit) More...
|
|
virtual StatusCode | transToPers (TRANS *, PERS *&) override |
| Obsolete methods replaced by createPersistent() and createTransient() obsolete. More...
|
|
virtual StatusCode | persToTrans (TRANS *&, PERS *) override |
| obsolete More...
|
|
virtual StatusCode | DataObjectToPers (DataObject *pObj, IOpaqueAddress *&pAddr) override |
| Convert an object into Persistent. More...
|
|
virtual StatusCode | DataObjectToPool (IOpaqueAddress *pAddr, DataObject *pObj) override |
| Write an object into POOL. More...
|
|
virtual StatusCode | PoolToDataObject (DataObject *&pObj, const Token *token, const std::string &key) override |
| Read an object from POOL. More...
|
|
virtual StatusCode | cleanUp (const std::string &output) override |
| Callback from the CleanupSvc to delete persistent object in the local list. More...
|
|
virtual StatusCode | initialize () |
| Gaudi Service Interface method implementations: More...
|
|
template<class P > |
Placement | setPlacementForP (P &p, const std::string &key, const std::string &output) |
| Set POOL placement for type P. More...
|
|
template<class P > |
StatusCode | objectToPool (P *pObj, Token *&token, const std::string &key, const std::string &output) |
| Write an object into POOL returning its token. More...
|
|
template<class P > |
StatusCode | poolToObject (const Token *&token, P *&pObj) |
| Read an object from POOL. More...
|
|
virtual bool | compareClassGuid (const Guid &clid) const |
| Compare POOL class GUID with the one of the object being read. More...
|
|
virtual void | setToken (const std::string &token) |
| Set the token (in std::string representation) and classID for the object that will be read next. More...
|
|
virtual Placement | setPlacement (const std::string &key, const std::string &output) |
| Set POOL placement. More...
|
|
virtual Placement | setPlacementWithType (const std::string &tname, const std::string &key, const std::string &output) |
| Set POOL placement hint for a given type. More...
|
|
virtual const DataObject * | getDataObject () const |
|
double | phiCorr (double phi) |
|
void | ipCorr (double d0, double z0, double &d0c, double &z0c, double phi0, double eta, double pt) |
|
|
std::map< DataObject *, PERS * > | m_persMap |
|
std::string | m_nm |
| Message source name. More...
|
|
boost::thread_specific_ptr< MsgStream > | m_msg_tls |
| MsgStream instance (a std::cout like with print-out levels) More...
|
|
std::atomic< IMessageSvc * > | m_imsg { nullptr } |
| MessageSvc pointer. More...
|
|
std::atomic< MSG::Level > | m_lvl { MSG::NIL } |
| Current logging level. More...
|
|
std::atomic_flag m_initialized | ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
| Messaging initialized (initMessaging) More...
|
|
POOL converter for the xAOD::ShallowAuxContainer class.
This is the converter doing the actual schema evolution
of the package...
- Author
- Will Buttinger will@.nosp@m.cern.nosp@m..ch
Definition at line 28 of file xAODShallowAuxContainerCnv.h.
◆ BaseType
template<class TRANS , class PERS >
◆ CallMutex
◆ ClassMap
◆ ClassMapIt
◆ xAODShallowAuxContainerCnv()
xAODShallowAuxContainerCnv::xAODShallowAuxContainerCnv |
( |
ISvcLocator * |
svcLoc | ) |
|
◆ addTrack()
◆ classID()
template<class TRANS , class PERS >
◆ cleanUp()
template<class TRANS , class PERS >
|
overrideprotectedvirtualinherited |
Callback from the CleanupSvc to delete persistent object in the local list.
Reimplemented from AthenaPoolConverter.
◆ clear()
void Converter::clear |
( |
| ) |
|
|
inlineinherited |
◆ compareClassGuid()
template<class TRANS , class PERS >
|
protectedvirtualinherited |
Compare POOL class GUID with the one of the object being read.
- Parameters
-
- Returns
- true if the type of the object about to be read matches the GUID
◆ createObj()
StatusCode AthenaPoolConverter::createObj |
( |
IOpaqueAddress * |
pAddr, |
|
|
DataObject *& |
pObj |
|
) |
| |
|
overridevirtualinherited |
Create a transient object from a POOL persistent representation.
- Parameters
-
pAddr | [IN] IOpaqueAddress of POOL persistent representation. |
pObj | [OUT] pointer to the transient object. |
Reimplemented in T_AthenaPoolCoolMultChanCnv< COLL_T, ELEM_T, ELEM_P >, T_AthenaPoolCoolMultChanCnv< LArHVScaleCorrComplete, LArConditionsSubset< LArSingleFloatP >, LArSingleFloatSubset_p1 >, and T_AthenaPoolCoolMultChanCnv< TransientClass, LArConditionsSubset< LArSingleFloatP >, LArSingleFloatSubset_p1 >.
Definition at line 61 of file AthenaPoolConverter.cxx.
64 bool ownTokAddr =
false;
65 if (tokAddr ==
nullptr || tokAddr->
getToken() ==
nullptr) {
69 GenericAddress* genAddr =
dynamic_cast<GenericAddress*
>(pAddr);
71 ATH_MSG_ERROR(
"Dynamic cast failed in AthenaPoolConverter::createObj");
74 return StatusCode::FAILURE;
80 ::sprintf(
text,
"[CTXT=%08X]",
static_cast<int>(*(pAddr->ipar())));
88 std::string
key = pAddr->par()[1];
97 if (pObj ==
nullptr) {
101 delete tokAddr; tokAddr =
nullptr;
104 if (pObj ==
nullptr) {
105 return(StatusCode::FAILURE);
107 return(StatusCode::SUCCESS);
◆ createPersistentWithKey() [1/2]
template<class TRANS , class PERS >
|
protectedpure virtualinherited |
method to be implemented by the developer.
It should create the persistent representation of the object, using the default top-level TP converter.
- Parameters
-
- Returns
- the created persistent representation (by pointer)
Implemented in T_AthenaPoolCustomCnv< ZdcRawChannelCollection, ZdcRawChannelCollection_PERS >, T_AthenaPoolxAODCnv< XAOD, TPCNVS >, T_AthenaPoolCustomCnv< ViewVector< DV >, ViewVector< DV > >, T_AthenaPoolCustomCnv< TruthParticleContainer, TruthParticleContainer_PERS >, T_AthenaPoolCustomCnv< TruthEtIsolationsContainer, TruthEtIsolationsContainer_PERS >, T_AthenaPoolCustomCnv< TRTUncompressedHitCollection, TRT_HitCollection_PERS >, T_AthenaPoolCustomCnv< TrigTauTracksInfo, TrigTauTracksInfo_PERS >, T_AthenaPoolCustomCnv< TrigTauClusterDetails, TrigTauClusterDetails_PERS >, T_AthenaPoolCustomCnv< TrigTauCluster, TrigTauCluster_PERS >, T_AthenaPoolCustomCnv< TrigTau, TrigTau_PERS >, T_AthenaPoolCustomCnv< TrigRoiDescriptorCollection, TrigRoiDescriptorCollection_PERS >, T_AthenaPoolCustomCnv< TrigRoiDescriptor, TrigRoiDescriptor_PERS >, T_AthenaPoolCustomCnv< TrigRNNOutput, TrigRNNOutput_PERS >, T_AthenaPoolCustomCnv< TrigOperationalInfoCollection, TrigOperationalInfoCollection_PERS >, T_AthenaPoolCustomCnv< TrigOperationalInfo, TrigOperationalInfo_PERS >, T_AthenaPoolCustomCnv< TrigMonEventCollection, TrigMonEventCollection_PERS >, T_AthenaPoolCustomCnv< TrigMonEvent, TrigMonEvent_PERS >, T_AthenaPoolCustomCnv< TrigMonConfigCollection, TrigMonConfigCollection_PERS >, T_AthenaPoolCustomCnv< TrigMonConfig, TrigMonConfig_PERS >, T_AthenaPoolCustomCnv< TrigEMCluster, TrigEMCluster_PERS >, T_AthenaPoolCustomCnv< TrigComposite, TrigComposite_PERS >, T_AthenaPoolTPCnvCnv< TRANS, TPCNV_CUR, TPCNVS >, T_AthenaPoolCustomCnv< TRANS, PERS >, T_AthenaPoolCustomCnv< TrackRecordCollection, TrackRecordCollection_PERS >, T_AthenaPoolCustomCnv< TileTTL1Container, TileTTL1Container_PERS >, T_AthenaPoolCustomCnv< TileRawChannelContainer, TileRawChannelContainer_PERS >, T_AthenaPoolCustomCnv< TileMuonReceiverContainer, TileMuonReceiverContainer_PERS >, T_AthenaPoolCustomCnv< TileMuContainer, TileMuContainer_PERS >, T_AthenaPoolCustomCnv< TileL2Container, TileL2Container_PERS >, T_AthenaPoolCustomCnv< TileHitVector, TileHitVector_PERS >, T_AthenaPoolCustomCnv< TileHitContainer, TileHitContainer_PERS >, T_AthenaPoolCustomCnv< TileDigitsContainer, TileDigitsContainer_PERS >, T_AthenaPoolCustomCnv< TileCosmicMuonContainer, TileCosmicMuonContainer_PERS >, T_AthenaPoolCustomCnv< TileBeamElemContainer, TileBeamElemContainer_PERS >, T_AthenaPoolCustomCnv< T, P >, T_AthenaPoolCustomCnv< SimulationHitCollection, SimulationHitCollection_PERS >, T_AthenaPoolCustomCnv< SiHitCollection, SiHitCollection_PERS >, T_AthenaPoolCustomCnv< RingerRings, RingerRings_PERS >, T_AthenaPoolCustomCnv< RecoTimingObj, RecoTimingObj_PERS >, T_AthenaPoolCustomCnv< Rec::MuonSpShowerContainer, MuonSpShowerContainer_PERS >, T_AthenaPoolCustomCnv< PhotonContainer, PhotonContainer_PERS >, T_AthenaPoolCustomCnv< MuonCaloEnergyContainer, MuonCaloEnergyContainer_PERS >, T_AthenaPoolCustomCnv< MissingEtTruth, MissingEtTruth_PERS >, T_AthenaPoolCustomCnv< MissingEtCalo, MissingEtCalo_PERS >, T_AthenaPoolCustomCnv< MissingET, MissingET_PERS >, T_AthenaPoolCustomCnv< McEventCollection, McEventCollection_PERS >, T_AthenaPoolCustomCnv< LArTTL1Container, LArTTL1Container_PERS >, T_AthenaPoolCustomCnv< LArHitFloatContainer, LArHitContainer_PERS >, T_AthenaPoolCustomCnv< LArHitContainer, LArHitContainer_PERS >, T_AthenaPoolCustomCnv< IParticleLinkContainer, IParticleLinkContainer_PERS >, T_AthenaPoolCustomCnv< InDet::InDetLowBetaCandidate, InDetLowBetaCandidate_PERS >, T_AthenaPoolCustomCnv< INav4MomLinkContainer, INav4MomLinkContainer_PERS >, T_AthenaPoolCustomCnv< INav4MomAssocs, INav4MomAssocs_PERS >, T_AthenaPoolCustomCnv< ElectronContainer, ElectronContainer_PERS >, T_AthenaPoolCustomCnv< egDetailContainer, egDetailContainer_PERS >, T_AthenaPoolCustomCnv< egammaContainer, egammaContainer_PERS >, T_AthenaPoolCustomCnv< eflowObjectContainer, eflowObjectContainer_p5 >, T_AthenaPoolCustomCnv< CaloRingsContainer, CaloRingsContainer_PERS >, T_AthenaPoolCustomCnv< CaloCalibrationHitContainer, CaloCalibrationHitContainer_PERS >, T_AthenaPoolCustomCnv< BCM_RDO_Container, BCM_RDO_Container_p0 >, T_AthenaPoolAuxContainerCnv< AUXSTORE, TPCNVS >, T_AthenaPoolCustomCnv< AthExFatObject, AthExFatObject_PERS >, T_AthenaPoolCustomCnv< AthExElephantino, AthExElephantino_PERS >, T_AthenaPoolCustomCnv< AthExDecay, AthExDecay_PERS >, T_AthenaPoolCustomCnv< Analysis::MuonContainer, MuonContainer_PERS >, T_AthenaPoolCustomCnv< Analysis ::TauJetContainer, TauJetContainer_PERS >, T_AthenaPoolCustomCnv< Analysis ::TauDetailsContainer, TauDetailsContainer_PERS >, T_AthenaPoolCustomCnv< ALFA_ODHitCollection, ALFA_ODHitCollection_PERS >, T_AthenaPoolCustomCnv< ALFA_ODDigitCollection, ALFA_ODDigitCollection_PERS >, T_AthenaPoolCustomCnv< ALFA_LocRecODEvCollection, ALFA_LocRecODEvCollection_PERS >, T_AthenaPoolCustomCnv< ALFA_LocRecEvCollection, ALFA_LocRecEvCollection_PERS >, T_AthenaPoolCustomCnv< ALFA_LocRecCorrODEvCollection, ALFA_LocRecCorrODEvCollection_PERS >, T_AthenaPoolCustomCnv< ALFA_LocRecCorrEvCollection, ALFA_LocRecCorrEvCollection_PERS >, T_AthenaPoolCustomCnv< ALFA_HitCollection, ALFA_HitCollection_PERS >, T_AthenaPoolCustomCnv< ALFA_GloRecEvCollection, ALFA_GloRecEvCollection_PERS >, T_AthenaPoolCustomCnv< ALFA_DigitCollection, ALFA_DigitCollection_PERS >, T_AthenaPoolCustomCnv< ALFA_CLinkEvent, ALFA_CLinkEvent_PERS >, T_AthenaPoolCustomCnv< AFP_TDSimHitCollection, AFP_TDSimHitCollection_PERS >, T_AthenaPoolCustomCnv< AFP_TDLocRecoEvCollection, AFP_TDLocRecoEvCollection_PERS >, T_AthenaPoolCustomCnv< AFP_TDDigiCollection, AFP_TDDigiCollection_PERS >, T_AthenaPoolCustomCnv< AFP_SIDSimHitCollection, AFP_SIDSimHitCollection_PERS >, T_AthenaPoolCustomCnv< AFP_SIDLocRecoEvCollection, AFP_SIDLocRecoEvCollection_PERS >, and T_AthenaPoolCustomCnv< AFP_SiDigiCollection, AFP_SiDigiCollection_PERS >.
◆ createPersistentWithKey() [2/2]
Function preparing the container to be written out.
Here follows a specialized version of the copyAuxStoreThinned method, with a few changes for shallow aux containers
End of specialized thinning
Definition at line 18 of file xAODShallowAuxContainerCnv.cxx.
22 if (trans->
size() > 0) {
28 size_t nremaining =
size;
31 if (
key2.size() >= 4 &&
key2.substr (
key2.size()-4, 4) ==
"Aux.")
77 if(auxid == SG::null_auxid)
continue;
79 if (
info &&
info->vetoed (auxid))
continue;
80 if (sel_auxids.
count(auxid) == 0)
continue;
90 if (nremaining ==
size) {
92 r.copyForOutput (auxid, dstIface, 0, srcIface, 0,
size);
96 for (std::size_t isrc = 0, idst = 0; isrc <
size; ++isrc) {
97 if ( ! (dec && dec->
thinned(isrc)) ) {
98 r.copyForOutput (auxid, dstIface, idst, srcIface, isrc, 1);
◆ createRep()
StatusCode AthenaPoolConverter::createRep |
( |
DataObject * |
pObj, |
|
|
IOpaqueAddress *& |
pAddr |
|
) |
| |
|
overridevirtualinherited |
◆ createTransientWithKey()
◆ DataObjectToPers()
template<class TRANS , class PERS >
|
overrideprotectedvirtualinherited |
Convert an object into Persistent.
- Parameters
-
pObj | [IN] pointer to the transient object. |
key | [IN] StoreGate key (string) - placement hint to generate POOL container name |
Reimplemented from T_AthenaPoolCustCnv< TRANS, PERS >.
◆ DataObjectToPool()
template<class TRANS , class PERS >
|
overrideprotectedvirtualinherited |
◆ detStore()
◆ fillRepRefs()
StatusCode AthenaPoolConverter::fillRepRefs |
( |
IOpaqueAddress * |
pAddr, |
|
|
DataObject * |
pObj |
|
) |
| |
|
overridevirtualinherited |
◆ finalize()
StatusCode AthenaPoolConverter::finalize |
( |
| ) |
|
|
overridevirtualinherited |
◆ getDataObject()
const DataObject * AthenaPoolConverter::getDataObject |
( |
| ) |
const |
|
protectedvirtualinherited |
◆ initialize()
template<class TRANS , class PERS >
|
protectedvirtualinherited |
Gaudi Service Interface method implementations:
Reimplemented from T_AthenaPoolCnvBase< TRANS >.
Reimplemented in JetCollectionCnv, T_AthenaPoolViewVectorCnv< DV >, xAODTrackParticleAuxContainerCnv, TrackCollectionCnv, V0ContainerCnv, SCT_RDO_ContainerCnv, PixelClusterContainerCnv, PixelRDO_ContainerCnv, SCT_ClusterContainerCnv, TrackParticleContainerCnv, VxContainerCnv, TRT_DriftCircleContainerCnv, DataHeaderCnv, LayerMaterialMapCnv, TileCellContainerCnv, xAODSpacePointAuxContainerCnv, xAODTrackStateAuxContainerCnv, LArLATOMEHeaderContainerCnv, MuonContainerCnv, TRT_RDO_ContainerCnv, TrigInDetTrackTruthMapCnv, TgcCoinDataContainerCnv, TgcPrepDataContainerCnv, CscPrepDataContainerCnv, MdtPrepDataContainerCnv, RpcPrepDataContainerCnv, MMPrepDataContainerCnv, CscStripPrepDataContainerCnv, sTgcPrepDataContainerCnv, TrigSpacePointCountsCnv, MuonRdoContainerTPCnv< T, P, CONV >, CscRawDataContainerCnv, RpcCoinDataContainerCnv, MuonRdoContainerCnv< T >, CaloTTOnAttrIdMapCnv, CaloTTOnOffIdMapCnv, CaloTTPpmRxIdMapCnv, MM_RawDataContainerCnv, STGC_RawDataContainerCnv, AlignableTransformContainerCnv, LArTTCellMapCnv, and LArDigitContainerCnv.
◆ initMessaging()
void AthMessaging::initMessaging |
( |
| ) |
const |
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
◆ ipCorr()
void Converter::ipCorr |
( |
double |
d0, |
|
|
double |
z0, |
|
|
double & |
d0c, |
|
|
double & |
z0c, |
|
|
double |
phi0, |
|
|
double |
eta, |
|
|
double |
pt |
|
) |
| |
|
inlineprotectedinherited |
Definition at line 257 of file Converter.h.
261 double sd0 = (
d0 != 0 ?
d0/fabs(
d0) : 1);
262 double spt = (
pt != 0 ?
pt/fabs(
pt) : 1);
270 double rc = fabs(
pt)*15.0/(9.0*1.042);
276 double xd01,yd01,xd02,yd02;
279 xd01 = 0; yd01 =
rc+yc;
280 xd02 = 0; yd02 = -
rc+yc;
282 xd01 = xc+yc/xc*yc+sqrt(
pow((xc+yc/xc*yc),2)-xc*xc-yc*yc+rc*rc); yd01 = yc/xc*xd01;
283 xd02 = xc+yc/xc*yc-sqrt(
pow((xc+yc/xc*yc),2)-xc*xc-yc*yc+rc*rc); yd02 = yc/xc*xd02;
286 double r1 = sqrt(xd01*xd01+yd01*yd01);
287 double r2 = sqrt(xd02*xd02+yd02*yd02);
292 phiV = atan2(yd01,xd01);
294 phiV = atan2(yd02,xd02);
304 d0c = fabs(sqrt(xc*xc+yc*yc)-rc)*
sin(phiV-newphi);
307 double theta_save=
theta;
◆ keepPoolObj()
template<class TRANS , class PERS >
Remember the POOL object to be written out (will be deleted after commit)
- Parameters
-
obj | [IN] persistent object |
◆ msg() [1/2]
MsgStream & AthMessaging::msg |
( |
| ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 164 of file AthMessaging.h.
◆ msg() [2/2]
MsgStream & AthMessaging::msg |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 179 of file AthMessaging.h.
180 {
return msg() << lvl; }
◆ msgLvl()
bool AthMessaging::msgLvl |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
Test the output level.
- Parameters
-
lvl | The message level to test against |
- Returns
- boolean Indicating if messages at given level will be printed
- Return values
-
true | Messages at level "lvl" will be printed |
Definition at line 151 of file AthMessaging.h.
◆ objectToPool()
template<class TRANS , class PERS >
template<class P >
Write an object into POOL returning its token.
- Parameters
-
pObj | [IN] pointer to the object to be written. |
token | [OUT] POOL token of the persistent representation. |
key | [IN] StoreGate key (string) - placement hint to generate POOL container name |
◆ persToTrans()
template<class TRANS , class PERS >
|
inlineoverrideprotectedvirtualinherited |
◆ phiCorr()
double Converter::phiCorr |
( |
double |
phi | ) |
|
|
inlineprotectedinherited |
Definition at line 248 of file Converter.h.
250 if (
phi < -TMath::Pi())
phi += 2*TMath::Pi();
251 if (
phi > TMath::Pi())
phi -= 2*TMath::Pi();
◆ poolReadObject() [1/2]
template<class TRANS , class PERS >
template<class P >
Read object of type P.
This is an exception-throwing version of poolToObject() plus reading of all extending objects. Version 1 - (see createTransient() above)
- Returns
- object read from POOL (by pointer)
◆ poolReadObject() [2/2]
template<class TRANS , class PERS >
template<class P >
Read object of type P (plus all extending objects) using the indicated top-level TP converter.
Version 2 - (see createTransient() above) NOTE: the TLP converter will delete the persistent object after createTransient()
- Parameters
-
tlp_converter | [IN] top-level TP converter to be used when reading |
◆ PoolToDataObject()
template<class TRANS , class PERS >
|
overrideprotectedvirtualinherited |
Read an object from POOL.
- Parameters
-
pObj | [OUT] pointer to the transient object. |
token | [IN] POOL token of the persistent representation. |
key | [IN] SG key of the object being read. |
Reimplemented from T_AthenaPoolCustCnv< TRANS, PERS >.
◆ poolToObject()
template<class TRANS , class PERS >
template<class P >
Read an object from POOL.
- Parameters
-
token | [IN] POOL token of the persistent representation. |
pObj | [OUT] pointer to the object read. |
◆ repSvcType()
long AthenaPoolConverter::repSvcType |
( |
| ) |
const |
|
overridevirtualinherited |
◆ selectTracks() [1/3]
Definition at line 177 of file Converter.h.
179 static int hpmap[20] = { 0, 1, 2, 7, 8, 9, 3, 4, 5, 6, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 };
184 while(muonitr!=muonend) {
186 bool hasInDet = (*muonitr)->hasInDetTrackParticle();
188 if(hasInDet) trackitr=(*muonitr)->inDetTrackParticle();
190 if(!hasInDet)
continue;
194 CLHEP::HepVector perigeeParams = measPer->parameters();
195 double pT = measPer->pT();
196 double eta = measPer->eta();
223 double dof = quality->quality->
numberDoF();
227 for (
int ih=0 ; ih<20 ; ih++ ) {
236 deta, dphi, dz0, dd0, dpT,
238 nStrawHits, nTrHits, bitmap, 0,
◆ selectTracks() [2/3]
Definition at line 111 of file Converter.h.
116 static int hpmap[20] = { 0, 1, 2, 7, 8, 9, 3, 4, 5, 6, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 };
118 while ( trackitr!=trackend ) {
122 CLHEP::HepVector perigeeParams = measPer->parameters();
123 double pT = measPer->pT();
124 double eta = measPer->eta();
147 bool expectBL =
false;
155 for (
int ih=0 ; ih<20 ; ih++ ) {
164 deta, dphi, dz0, dd0, dpT,
166 nStrawHits, nTrHits, bitmap, 0,
◆ selectTracks() [3/3]
Definition at line 56 of file Converter.h.
61 while ( trackitr!=trackend ) {
63 double eta = (*trackitr)->param()->eta();
64 double phi = (*trackitr)->param()->phi0();
65 double z0 = (*trackitr)->param()->z0();
66 double pT = (*trackitr)->param()->pT();
67 double d0 = (*trackitr)->param()->a0();
70 double deta = (*trackitr)->param()->eeta();
71 double dphi = (*trackitr)->param()->ephi0();
72 double dz0 = (*trackitr)->param()->ez0();
73 double dpT = (*trackitr)->param()->epT();
74 double dd0 = (*trackitr)->param()->ea0();
76 int algoid = (*trackitr)->algorithmId();
78 int nBlayerHits = ((*trackitr)->HitPattern() & 0x1);
79 int nPixelHits = 2*(*trackitr)->NPixelSpacePoints();
80 int nSctHits = 2*(*trackitr)->NSCT_SpacePoints();
81 int nStrawHits = (*trackitr)->NStrawHits();
82 int nTrHits = (*trackitr)->NTRHits();
85 bool expectBL =
false;
87 unsigned hitPattern = (*trackitr)->HitPattern();
88 unsigned multiPattern = 0;
90 double chi2 = (*trackitr)->chi2();
98 deta, dphi, dz0, dd0, dpT,
100 nStrawHits, nTrHits, hitPattern, multiPattern,
◆ setLevel()
void AthMessaging::setLevel |
( |
MSG::Level |
lvl | ) |
|
|
inherited |
◆ setPlacement()
|
protectedvirtualinherited |
◆ setPlacementForP()
template<class TRANS , class PERS >
template<class P >
Set POOL placement for type P.
◆ setPlacementWithType()
Placement AthenaPoolConverter::setPlacementWithType |
( |
const std::string & |
tname, |
|
|
const std::string & |
key, |
|
|
const std::string & |
output |
|
) |
| |
|
protectedvirtualinherited |
Set POOL placement hint for a given type.
- Parameters
-
tname | [IN] type name. |
key | [IN] SG key. |
Definition at line 174 of file AthenaPoolConverter.cxx.
177 std::string::size_type pos1 =
output.find(
'[');
178 std::string outputConnectionSpec =
output.substr(0, pos1);
186 std::string containerName;
189 std::size_t colonPos = containerPrefix.find(
':');
190 if (colonPos != std::string::npos) {
191 dhContainerPrefix = containerPrefix.substr(0, colonPos + 1) + dhContainerPrefix;
197 std::string containerFriendPostfix;
198 while (pos1 != std::string::npos) {
199 const std::string::size_type pos2 =
output.find(
'=', pos1);
200 const std::string thisKey =
output.substr(pos1 + 1, pos2 - pos1 - 1);
201 const std::string::size_type pos3 =
output.find(
']', pos2);
202 const std::string
value =
output.substr(pos2 + 1, pos3 - pos2 - 1);
203 if (thisKey ==
"OutputCollection") {
204 dhContainerPrefix =
value;
205 }
else if (thisKey ==
"PoolContainerPrefix") {
206 containerPrefix =
value;
207 }
else if (thisKey ==
"TopLevelContainerName") {
208 containerNameHint =
value;
209 }
else if (thisKey ==
"SubLevelBranchName") {
210 branchNameHint =
value;
211 }
else if (thisKey ==
"PoolContainerFriendPostfix") {
212 containerFriendPostfix =
value;
214 pos1 =
output.find(
'[', pos3);
218 if( tname.compare(0, 10,
"DataHeader") == 0 ) {
219 if( tname.compare(10, 4,
"Form") == 0 ) {
220 containerName = dhContainerPrefix +
"Form" +
"(" + tname +
")";
222 if (
key[
key.size() - 1] ==
'/') {
223 containerName = dhContainerPrefix +
"(" +
key + tname +
")";
225 containerName = dhContainerPrefix +
"(" + tname +
")";
230 else if (tname.compare(0, 13,
"AttributeList") == 0) {
232 if( pool::ROOTRNTUPLE_StorageType.exactMatch(tech) ) {
237 tech = pool::ROOTTREE_StorageType.
type();
243 const std::string typeTok =
"<type>", keyTok =
"<key>";
244 containerName = containerPrefix + containerFriendPostfix + containerNameHint;
245 if (!branchNameHint.empty()) {
246 containerName +=
"(" + branchNameHint +
")";
248 const std::size_t pos1 = containerName.find(typeTok);
249 if (pos1 != std::string::npos) {
250 containerName.replace(pos1, typeTok.size(), tname);
252 const std::size_t pos2 = containerName.find(keyTok);
253 if (pos2 != std::string::npos) {
255 containerName.replace(pos2, keyTok.size(), tname);
257 containerName.replace(pos2, keyTok.size(),
key);
◆ setToken()
template<class TRANS , class PERS >
|
protectedvirtualinherited |
◆ storageType()
long AthenaPoolConverter::storageType |
( |
| ) |
|
|
staticinherited |
◆ tracks()
◆ transToPers()
template<class TRANS , class PERS >
|
inlineoverrideprotectedvirtualinherited |
◆ ATLAS_THREAD_SAFE
std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
|
mutableprivateinherited |
◆ m_athenaPoolCnvSvc
◆ m_beamX
double Converter::m_beamX |
|
protectedinherited |
◆ m_beamY
double Converter::m_beamY |
|
protectedinherited |
◆ m_beamZ
double Converter::m_beamZ |
|
protectedinherited |
◆ m_branchNameHint
std::string AthenaPoolConverter::m_branchNameHint |
|
protectedinherited |
◆ m_classDesc
RootType AthenaPoolConverter::m_classDesc |
|
protectedinherited |
◆ m_classDescs
ClassMap AthenaPoolConverter::m_classDescs |
|
protectedinherited |
◆ m_classID
template<class TRANS , class PERS >
◆ m_className
std::string AthenaPoolConverter::m_className |
|
protectedinherited |
◆ m_containerNameHint
std::string AthenaPoolConverter::m_containerNameHint |
|
protectedinherited |
◆ m_containerPrefix
std::string AthenaPoolConverter::m_containerPrefix |
|
protectedinherited |
◆ m_conv_mut
◆ m_dataObject
const DataObject* AthenaPoolConverter::m_dataObject |
|
protectedinherited |
◆ m_detStore
◆ m_i_poolToken
◆ m_imsg
std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr } |
|
mutableprivateinherited |
◆ m_lvl
std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL } |
|
mutableprivateinherited |
◆ m_msg_tls
boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls |
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
◆ m_nm
std::string AthMessaging::m_nm |
|
privateinherited |
◆ m_persMap
template<class TRANS , class PERS >
◆ m_persObjLists
template<class TRANS , class PERS >
Local cache for persistent objects created by this converter, grouped by processing slot These objects are deleted after a commit.
Definition at line 120 of file T_AthenaPoolCustomCnv.h.
◆ m_pListMutex
template<class TRANS , class PERS >
◆ m_tracks
The documentation for this class was generated from the following files:
std::atomic< MSG::Level > m_lvl
Current logging level.
@ numberOfPixelHits
number of pixel layers on track with absence of hits
const DataObject * m_dataObject
void ipCorr(double d0, double z0, double &d0c, double &z0c, double phi0, double eta, double pt)
def finalize(self)
_info( "content of StoreGate..." ) self.sg.dump()
Const iterator class for DataVector/DataList.
This class holds all the necessary information to guide the writing of an object in a physical place.
@ numberOfTRTHighThresholdHits
total number of TRT hits which pass the high threshold
virtual StatusCode DataObjectToPool(IOpaqueAddress *pAddr, DataObject *pObj)=0
Write an object into POOL.
bit_t count() const
Count the number of 1 bits in the set.
Scalar phi() const
phi method
static AuxTypeRegistry & instance()
Return the singleton registry instance.
virtual const auxid_set_t & getDynamicAuxIDs() const override
Get the types(names) of variables created dynamically.
static constexpr const char * DataHeader
ServiceHandle< IAthenaPoolCnvSvc > m_athenaPoolCnvSvc
Scalar eta() const
pseudorapidity method
Hold thinning decisions for one container.
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
const DataLink< SG::IConstAuxStore > & parent() const
Get the parent store.
Scalar theta() const
theta method
const std::string & auxString() const
Access auxiliary string.
const TrackSummary * trackSummary() const
accessor function for TrackSummary.
static long storageType()
Class creating a shallow copy of an existing auxiliary container.
bool thinned(size_t ndx) const
Return true if element ndx should be thinned.
ServiceHandle< StoreGateSvc > m_detStore
static constexpr const char * EventTag
#define ATH_MSG_VERBOSE(x)
size_t thinnedSize() const
Return the size of the container being thinned after thinning.
Placement & setContainerName(const std::string &containerName)
Set container name.
void setParent(const DataLink< SG::IConstAuxStore > &link)
Set the parent store.
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
virtual size_t size() const override
Get the size of the container.
float nPixelHits(const U &p)
IMessageSvc * getMessageSvc(bool quiet=false)
int type() const
Access to full type.
@ numberOfBLayerHits
these are the hits in the 0th pixel layer?
T_AthenaPoolCustomCnvWithKey< xAOD::ShallowAuxContainer, xAOD::ShallowAuxContainer > xAODShallowAuxContainerCnvBase
Base class for the converter.
This class provides a token that identifies in a unique way objects on the persistent storage.
double phiCorr(double phi)
Handle mappings between names and auxid_t.
This class provides a Generic Transient Address for POOL tokens.
void setShallowIO(bool value)
Set whether only the overriden parameters should be written out.
Token & fromString(const std::string &from)
Build from the string representation of a token.
Hold thinning/slimming information for a given object.
size_t auxid_t
Identifier for a particular aux data item.
const Token * m_i_poolToken
@ numberOfSCTHits
number of SCT holes
std::string m_containerPrefix
const FitQuality * fitQuality() const
accessor function for FitQuality.
double chi2(TH1 *h0, TH1 *h1)
std::string m_containerNameHint
virtual SG::IAuxStore * getStore() override
Get the currently used internal store object.
Placement & setFileName(const std::string &fileName)
Set file name.
Class to represent and store fit qualities from track reconstruction in terms of and number of degre...
uint32_t CLID
The Class ID type.
static constexpr const char * EventTag
MsgStream & msg() const
The standard message stream.
void addTrack(TIDA::Track *t)
static constexpr const char * DataHeader
@ numberOfTRTHits
number of TRT outliers
A summary of the information contained by a track.
virtual StatusCode PoolToDataObject(DataObject *&pObj, const Token *token, const std::string &key)=0
Read an object from POOL.
virtual const std::string toString() const
Retrieve the string representation of the token.
const Trk::Perigee * measuredPerigee() const
Accessor method for Perigee.
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
virtual StatusCode DataObjectToPers(DataObject *pObj, IOpaqueAddress *&pAddr)=0
Convert an object into Persistent.
Make an AuxVectorData object from either a raw array or an aux store.
DetectorType
enumerates the various detector types currently accessible from the isHit() method.
bool exactMatch(const DbType &typ) const
virtual void * getData(auxid_t auxid, size_t size, size_t capacity)=0
Return the data vector for one aux data item.
#define ATH_MSG_WARNING(x)
std::string m_branchNameHint
Token & setAuxString(const std::string &auxString)
Set auxiliary string.
std::string m_nm
Message source name.
Placement & setTechnology(int technology)
Set technology type.
virtual bool resize(size_t sz)=0
Change the size of all aux data vectors.
double chiSquared() const
returns the of the overall track fit
A set of aux data identifiers.
int numberDoF() const
returns the number of degrees of freedom of the overall track or vertex fit as integer
const SG::ThinningInfo * getThinningInfo(const EventContext &ctx, const std::string &key)
Retrieve the current thinning information for key.
void initMessaging() const
Initialize our message level and MessageSvc.
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
std::vector< TIDA::Track * > m_tracks
virtual const void * getData(auxid_t auxid) const override
Get a pointer to a given array.
virtual auxid_set_t getSelectedAuxIDs() const override
Get the IDs of the selected dynamic Aux variables (for writing)
float nSiHits(const U &p)
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.