 |
ATLAS Offline Software
|
#include <ALFA_LocRec.h>
|
| | ALFA_LocRec (const std::string &name, ISvcLocator *pSvcLocator) |
| |
| | ~ALFA_LocRec () |
| |
| StatusCode | initialize () |
| |
| StatusCode | execute () |
| |
| StatusCode | finalize () |
| |
| virtual StatusCode | sysInitialize () override |
| | Override sysInitialize. More...
|
| |
| virtual const DataObjIDColl & | extraOutputDeps () const override |
| | Return the list of extra output dependencies. More...
|
| |
| 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, V, H > &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 |
| |
|
| bool | ReadGeometryDetCS () |
| |
| bool | StoreReconstructionGeometry (const eRPotName eRPName, const eFiberType eFType, const char *szDataDestination) |
| |
| void | SaveGeometry () |
| |
| void | ClearGeometry () |
| |
| StatusCode | ALFACollectionReading (std::list< MDHIT > &ListMDHits, std::list< ODHIT > &ListODHits) |
| |
| StatusCode | RecordCollection () |
| |
| StatusCode | RecordODCollection () |
| |
| StatusCode | ExecuteRecoMethod (const std::string &strAlgo, const eRPotName eRPName, const std::list< MDHIT > &ListMDHits, const std::list< ODHIT > &ListODHits) |
| |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| | specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
| |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &) |
| | specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
| |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &) |
| | specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
| |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &) |
| | specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
| |
Definition at line 43 of file ALFA_LocRec.h.
◆ StoreGateSvc_t
◆ ALFA_LocRec()
| ALFA_LocRec::ALFA_LocRec |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ ~ALFA_LocRec()
| ALFA_LocRec::~ALFA_LocRec |
( |
| ) |
|
◆ ALFACollectionReading()
| StatusCode ALFA_LocRec::ALFACollectionReading |
( |
std::list< MDHIT > & |
ListMDHits, |
|
|
std::list< ODHIT > & |
ListODHits |
|
) |
| |
|
private |
Definition at line 361 of file ALFA_LocRec.cxx.
377 if(
sc.isFailure() || !mcGen)
379 return StatusCode::FAILURE;
385 for(;mcGenBeg!=mcGenEnd;++mcGenBeg)
389 MDHit.
iRPot = ((*mcGenBeg)->getStation());
390 MDHit.
iPlate = ((*mcGenBeg)->getPlate());
391 MDHit.
iFiber = ((*mcGenBeg)->getFiber());
393 ListMDHits.push_back(MDHit);
397 if(
sc.isFailure() || !mcODGen)
399 return StatusCode::FAILURE;
405 for(;mcODGenBeg!=mcODGenEnd;++mcODGenBeg)
408 ODHit.
iRPot = ((*mcODGenBeg)->getStation());
409 ODHit.
iPlate = ((*mcODGenBeg)->getPlate());
410 ODHit.
iSide = ((*mcODGenBeg)->getSide());
411 ODHit.
iFiber = ((*mcODGenBeg)->getFiber());
413 ListODHits.push_back(ODHit);
418 return StatusCode::SUCCESS;
◆ ClearGeometry()
| void ALFA_LocRec::ClearGeometry |
( |
| ) |
|
|
private |
◆ 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);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ 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.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ 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.
338 return PBASE::declareProperty(
name, property,
doc);
◆ 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 ALFA_LocRec::execute |
( |
| ) |
|
Definition at line 211 of file ALFA_LocRec.cxx.
216 std::list<eRPotName>::const_iterator iterRPName;
219 std::list<MDHIT> ListMDHits;
220 std::list<ODHIT> ListODHits;
226 if(!eventInfo.isValid()) {
244 return StatusCode::SUCCESS;
251 return StatusCode::SUCCESS;
262 std::string strAlgoMD;
268 eRPName = *iterRPName;
281 std::string strAlgoOD;
287 eRPName = *iterRPName;
334 return StatusCode::SUCCESS;
◆ ExecuteRecoMethod()
Definition at line 677 of file ALFA_LocRec.cxx.
683 std::list<ODRESULT> listODResults;
684 listODResults.clear();
685 Float_t fRecPosX = -9999.0;
686 Float_t fRecPosY = -9999.0;
688 std::map<string, int> mapRecoMethods;
689 mapRecoMethods.clear();
690 mapRecoMethods.insert(std::pair<string, int>(
"ODTracking", 1));
691 mapRecoMethods.insert(std::pair<string, int>(
"MDTracking", 2));
692 mapRecoMethods.insert(std::pair<string, int>(
"MDOverlap", 3));
693 mapRecoMethods.insert(std::pair<string, int>(
"CenterGravity", 4));
694 mapRecoMethods.insert(std::pair<string, int>(
"MDMultiple", 5));
695 mapRecoMethods.insert(std::pair<string, int>(
"HalfReco", 6));
696 mapRecoMethods.insert(std::pair<string, int>(
"MDGap", 7));
697 mapRecoMethods.insert(std::pair<string, int>(
"EdgeMethod", 8));
699 std::vector<int> vecFibSel;
702 switch(mapRecoMethods[strAlgo])
712 std::list<ODRESULT>::const_iterator
iter;
713 for(
iter=listODResults.begin();
iter!=listODResults.end(); ++
iter)
715 ODResults.
iSide = (*iter).iSide;
716 ODResults.
fRecPos = (*iter).fRecPos;
717 ODResults.
fOverY = (*iter).fOverY;
718 ODResults.
iNumY = (*iter).iNumY;
720 if ((ODResults.
fRecPos != -9999.0))
723 std::fill_n(&iFibSel[0][0],
sizeof(iFibSel)/
sizeof(Int_t), -9999);
729 vecFibSel.push_back(iFibSel[ODResults.
iSide][iPlate]);
743 sc = pMDTracking->
Execute(eRPName-1, ListMDHits);
744 sc = pMDTracking->
Finalize(fRecPosX, fRecPosY);
746 if (fRecPosX!=-9999.0 && fRecPosY!=-9999.0)
749 Int_t iNumU = 0, iNumV = 0;
750 Float_t fOverlapU = -9999.0, fOverlapV = -9999.0;
751 std::fill_n(&iFibSel[0],
sizeof(iFibSel)/
sizeof(Int_t), -9999);
753 pMDTracking->
GetData(iNumU, iNumV, fOverlapU, fOverlapV, iFibSel);
755 for (
int & iLayer : iFibSel)
757 vecFibSel.push_back(iLayer);
772 sc = pMDOverlap->
Finalize(fRecPosX, fRecPosY);
775 Int_t iNumU = 0, iNumV = 0;
776 Float_t fOverlapU = -9999.0, fOverlapV = -9999.0;
777 std::fill_n(&iFibSel[0],
sizeof(iFibSel)/
sizeof(Int_t), -9999);
780 if (fRecPosX!=-9999 && fRecPosY!=-9999)
783 for (
int & iLayer : iFibSel)
785 vecFibSel.push_back(iLayer);
800 sc = pCenterGravity->
Finalize(fRecPosX, fRecPosY);
803 Int_t iNumU = 0, iNumV = 0;
804 Float_t fOverlapU = -9999.0, fOverlapV = -9999.0;
805 std::fill_n(&iFibSel[0],
sizeof(iFibSel)/
sizeof(Int_t), -9999);
807 pCenterGravity->
GetData(iFibSel);
808 if (fRecPosX!=-9999 && fRecPosY!=-9999)
811 for (
int & iLayer : iFibSel)
813 vecFibSel.push_back(iLayer);
819 delete pCenterGravity;
831 sc = pMDMultiple->
Finalize(fRecPosX, fRecPosY);
835 std::fill_n(&iFibSel[0][0],
sizeof(iFibSel)/
sizeof(Int_t), -9999);
836 std::fill_n(&fOverU[0],
sizeof(fOverU)/
sizeof(Float_t), -9999.0);
837 std::fill_n(&fOverV[0],
sizeof(fOverV)/
sizeof(Float_t), -9999.0);
838 memset(&iNumU, 0,
sizeof(iNumU));
839 memset(&iNumV, 0,
sizeof(iNumV));
841 pMDMultiple->
GetData(iNumU, iNumV, fOverU, fOverV, iFibSel);
842 for (Int_t iTrack=0; iTrack<
NTRACK; iTrack++)
844 if (fRecPosX[iTrack] != -9999.0 && fRecPosY[iTrack] != -9999.0)
849 vecFibSel.push_back(iFibSel[iTrack][iLayer]);
864 Int_t iNumU[2] = {0, 0};
865 Int_t iNumV[2] = {0, 0};
868 Float_t fOverlapU[2] = {-9999, -9999};
869 Float_t fOverlapV[2] = {-9999, -9999};
870 Float_t fRecPosX[2] = {-9999, -9999};
871 Float_t fRecPosY[2] = {-9999, -9999};
874 std::fill_n(&iFibSel[0],
sizeof(iFibSel)/
sizeof(Int_t), -9999);
876 std::vector<int> vecFibSel0;
877 std::vector<int> vecFibSel1;
881 if (eRPName==1 || eRPName==3 || eRPName==6 || eRPName==8)
893 sc = pHalfReco->
Execute(eRPName-1, ListMDHits);
894 sc = pHalfReco->
Finalize(fRecPosX[0], fRecPosY[0]);
896 pHalfReco->
GetData(iNumU[0], iNumV[0], fOverlapU[0], fOverlapV[0], iFibSel);
898 for (
int & iLayer : iFibSel)
900 vecFibSel0.push_back(iLayer);
904 sc = pHalfReco->
Execute(eRPName-1, ListMDHits);
905 sc = pHalfReco->
Finalize(fRecPosX[1], fRecPosY[1]);
907 pHalfReco->
GetData(iNumU[1], iNumV[1], fOverlapU[1], fOverlapV[1], iFibSel);
909 for (
int & iLayer : iFibSel)
911 vecFibSel1.push_back(iLayer);
914 if (fRecPosX[0]!=-9999.0 && fRecPosY[0]!=-9999.0 && fRecPosX[1]!=-9999.0 && fRecPosY[1]!=-9999.0)
937 std::fill_n(&iFibSel[0],
sizeof(iFibSel)/
sizeof(Int_t), -9999);
938 std::fill_n(&fOverU[0],
sizeof(fOverU)/
sizeof(Float_t), -9999.0);
939 std::fill_n(&fOverV[0],
sizeof(fOverV)/
sizeof(Float_t), -9999.0);
941 pMDGap->
GetData(iNumU, iNumV, fOverU, fOverV, iFibSel);
942 for (Int_t iTrack=0; iTrack<
NTRACK; iTrack++)
944 if (fRecPosX[iTrack] != -9999.0 && fRecPosY[iTrack] != -9999.0)
947 for (
int & iLayer : iFibSel)
949 vecFibSel.push_back(iLayer);
970 std::fill_n(&iFibSel[0],
sizeof(iFibSel)/
sizeof(Int_t), -9999);
971 std::fill_n(&fOverU[0],
sizeof(fOverU)/
sizeof(Float_t), -9999.0);
972 std::fill_n(&fOverV[0],
sizeof(fOverV)/
sizeof(Float_t), -9999.0);
975 std::vector<ALFA_EdgeMethod::Track> tracks;
978 for (UInt_t iTrack=0; iTrack<tracks.size(); iTrack++)
980 pEdgeMethod->
selectedFibers(eRPName - 1, tracks.at(iTrack), iFibSel);
982 iNumU[iTrack] = tracks.at(iTrack).first.second;
983 iNumV[iTrack] = tracks.at(iTrack).second.second;
984 fOverU[iTrack] = tracks.at(iTrack).first.first.second;
985 fOverV[iTrack] = tracks.at(iTrack).second.first.second;
986 fRecPosX[iTrack] = 0.5*TMath::Sqrt2()*(-tracks.at(iTrack).first.first.first-tracks.at(iTrack).second.first.first);
987 fRecPosY[iTrack] = 0.5*TMath::Sqrt2()*(-tracks.at(iTrack).first.first.first+tracks.at(iTrack).second.first.first);
989 if (fRecPosX[iTrack] != -9999.0 && fRecPosY[iTrack] != -9999.0)
992 for (
int & iLayer : iFibSel)
994 vecFibSel.push_back(iLayer);
1002 sc = StatusCode::SUCCESS;
1008 std::cout <<
"strAlgo: " << strAlgo << std::endl;
1009 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()
| const DataObjIDColl & AthAlgorithm::extraOutputDeps |
( |
| ) |
const |
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 50 of file AthAlgorithm.cxx.
57 return Algorithm::extraOutputDeps();
◆ finalize()
| StatusCode ALFA_LocRec::finalize |
( |
| ) |
|
◆ initialize()
| StatusCode ALFA_LocRec::initialize |
( |
| ) |
|
Definition at line 156 of file ALFA_LocRec.cxx.
178 return StatusCode::FAILURE;
190 ATH_MSG_ERROR(
"m_pGeometryReader: unable to record to StoreGate");
208 return StatusCode::SUCCESS;
◆ 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.
◆ 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.
◆ ReadGeometryDetCS()
| bool ALFA_LocRec::ReadGeometryDetCS |
( |
| ) |
|
|
private |
Definition at line 421 of file ALFA_LocRec.cxx.
425 Int_t nPlateID, nFiberID;
430 std::list<eRPotName>::const_iterator iterRPName;
445 eRPName = *iterRPName;
455 m_faMD[eRPName-1][2*nPlateID+1][nFiberID] = FiberParams.
fSlope;
456 m_fbMD[eRPName-1][2*nPlateID+1][nFiberID] = FiberParams.
fOffset;
457 m_fzMD[eRPName-1][2*nPlateID+1][nFiberID] = FiberParams.
fZPos;
468 m_faMD[eRPName-1][2*nPlateID][nFiberID] = FiberParams.
fSlope;
469 m_fbMD[eRPName-1][2*nPlateID][nFiberID] = FiberParams.
fOffset;
470 m_fzMD[eRPName-1][2*nPlateID][nFiberID] = FiberParams.
fZPos;
482 for (nPlateID = 0; nPlateID <
ODPLATESCNT; nPlateID++)
484 for (nFiberID = 0; nFiberID <
ODFIBERSCNT; nFiberID++)
489 m_faOD[eRPName-1][nPlateID][0][nFiberID+15] = FiberParams.
fSlope;
490 m_fbOD[eRPName-1][nPlateID][0][nFiberID+15] = FiberParams.
fOffset;
491 m_fzOD[eRPName-1][nPlateID][0][nFiberID+15] = FiberParams.
fZPos;
501 m_faOD[eRPName-1][nPlateID][0][nFiberID] = FiberParams.
fSlope;
502 m_fbOD[eRPName-1][nPlateID][0][nFiberID] = FiberParams.
fOffset;
503 m_fzOD[eRPName-1][nPlateID][0][nFiberID] = FiberParams.
fZPos;
515 m_faOD[eRPName-1][nPlateID][1][14-nFiberID] = FiberParams.
fSlope;
516 m_fbOD[eRPName-1][nPlateID][1][14-nFiberID] = FiberParams.
fOffset;
517 m_fzOD[eRPName-1][nPlateID][1][14-nFiberID] = FiberParams.
fZPos;
521 m_faOD[eRPName-1][nPlateID][1][nFiberID+15] = FiberParams.
fSlope;
522 m_fbOD[eRPName-1][nPlateID][1][nFiberID+15] = FiberParams.
fOffset;
523 m_fzOD[eRPName-1][nPlateID][1][nFiberID+15] = FiberParams.
fZPos;
536 m_faOD[eRPName-1][nPlateID][1][29-nFiberID] = FiberParams.
fSlope;
537 m_fbOD[eRPName-1][nPlateID][1][29-nFiberID] = FiberParams.
fOffset;
538 m_fzOD[eRPName-1][nPlateID][1][29-nFiberID] = FiberParams.
fZPos;
542 m_faOD[eRPName-1][nPlateID][1][nFiberID] = FiberParams.
fSlope;
543 m_fbOD[eRPName-1][nPlateID][1][nFiberID] = FiberParams.
fOffset;
544 m_fzOD[eRPName-1][nPlateID][1][nFiberID] = FiberParams.
fZPos;
◆ RecordCollection()
| StatusCode ALFA_LocRec::RecordCollection |
( |
| ) |
|
|
private |
◆ RecordODCollection()
| StatusCode ALFA_LocRec::RecordODCollection |
( |
| ) |
|
|
private |
◆ renounce()
◆ renounceArray()
◆ SaveGeometry()
| void ALFA_LocRec::SaveGeometry |
( |
| ) |
|
|
private |
Definition at line 614 of file ALFA_LocRec.cxx.
621 std::list<eRPotName>::const_iterator iterRPName;
631 ATH_MSG_DEBUG(
"The ALFA Fiber geometry was stored in the "<<szFilename<<
" file");
636 ATH_MSG_DEBUG(
"The ALFA Fiber geometry was stored in the "<<szFilename<<
" file");
641 ATH_MSG_DEBUG(
"The ALFA Fiber geometry was stored in the "<<szFilename<<
" file");
655 ATH_MSG_DEBUG(
"The ODFiber geometry was stored in the "<<szFilename<<
" file");
660 ATH_MSG_DEBUG(
"The ODFiber geometry was stored in the "<<szFilename<<
" file");
665 ATH_MSG_DEBUG(
"The ODFiber geometry was stored in the "<<szFilename<<
" file");
◆ StoreReconstructionGeometry()
Definition at line 563 of file ALFA_LocRec.cxx.
565 ATH_MSG_DEBUG(
"begin ALFA_LocRec::StoreReconstructionGeometry()");
567 Int_t iLayer, iFiber, iPlate, iSide;
568 Float_t fParamB, fZ, fSlope;
571 pFile = fopen(szDataDestination,
"w");
572 if(pFile==NULL)
return false;
573 fprintf(pFile,
"xxxxxxxxxxxxxxxxxxx\n");
576 fprintf(pFile,
"20\n");
581 fSlope=
m_faMD[eRPName-1][iLayer][iFiber];
582 fParamB=
m_fbMD[eRPName-1][iLayer][iFiber];
583 fZ=
m_fzMD[eRPName-1][iLayer][iFiber];
585 fprintf(pFile,
" %2d %2d %7.5f %7.4f %7.3f\n", iLayer+1, iFiber+1, fSlope, fParamB, fZ);
591 fprintf(pFile,
"6\n");
598 fSlope=
m_faOD[eRPName-1][iPlate][iSide][iFiber];
599 fParamB=
m_fbOD[eRPName-1][iPlate][iSide][iFiber];
600 fZ=
m_fzOD[eRPName-1][iPlate][iSide][iFiber];
602 fprintf(pFile,
" %2d %2d %7.5f %7.4f %7.3f\n", (2*iPlate+iSide+1), iFiber+1, fSlope, fParamB, fZ);
609 ATH_MSG_DEBUG(
"end ALFA_LocRec::StoreReconstructionGeometry()");
◆ sysInitialize()
| StatusCode AthAlgorithm::sysInitialize |
( |
| ) |
|
|
overridevirtualinherited |
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_bEdgeMethod_Opt_Sisters
| Bool_t ALFA_LocRec::m_bEdgeMethod_Opt_Sisters |
|
private |
◆ m_bEdgeMethod_Opt_UseGaps
| Bool_t ALFA_LocRec::m_bEdgeMethod_Opt_UseGaps |
|
private |
◆ m_Config
◆ m_detStore
◆ m_eventInfoKey
◆ m_eventNum
| UInt_t ALFA_LocRec::m_eventNum |
|
private |
◆ m_evtStore
◆ m_extendedExtraObjects
| DataObjIDColl AthAlgorithm::m_extendedExtraObjects |
|
privateinherited |
◆ m_faMD
◆ m_faOD
◆ m_fbMD
◆ m_fbOD
◆ m_fDistanceCutOD
| Float_t ALFA_LocRec::m_fDistanceCutOD |
|
private |
◆ m_fOverlapCutMD
| Float_t ALFA_LocRec::m_fOverlapCutMD |
|
private |
◆ m_fzMD
◆ m_fzOD
◆ m_iDataType
| Int_t ALFA_LocRec::m_iDataType |
|
private |
◆ m_iEvent
| Int_t ALFA_LocRec::m_iEvent |
|
private |
◆ m_iLayerCutOD
| Float_t ALFA_LocRec::m_iLayerCutOD |
|
private |
◆ m_iMultiplicityCutMD
| Int_t ALFA_LocRec::m_iMultiplicityCutMD |
|
private |
◆ m_iMultiplicityCutOD
| Int_t ALFA_LocRec::m_iMultiplicityCutOD |
|
private |
◆ m_iNumLayerCutMD
| Int_t ALFA_LocRec::m_iNumLayerCutMD |
|
private |
◆ m_iUVCutMD
| Int_t ALFA_LocRec::m_iUVCutMD |
|
private |
◆ m_iUVCutMDHalfReco
| Int_t ALFA_LocRec::m_iUVCutMDHalfReco |
|
private |
◆ m_ListExistingRPots
| std::list<eRPotName> ALFA_LocRec::m_ListExistingRPots |
|
private |
◆ m_pGeometryReader
◆ m_pLocRecEvCollection
◆ m_pLocRecEvent
◆ m_pLocRecODEvCollection
◆ m_pLocRecODEvent
◆ m_strAlgoMD
| std::string ALFA_LocRec::m_strAlgoMD |
|
private |
◆ m_strAlgoOD
| std::string ALFA_LocRec::m_strAlgoOD |
|
private |
◆ m_strCollectionName
| std::string ALFA_LocRec::m_strCollectionName |
|
private |
◆ m_strKeyGeometryForReco
| std::string ALFA_LocRec::m_strKeyGeometryForReco |
|
private |
◆ m_strKeyLocRecEvCollection
| std::string ALFA_LocRec::m_strKeyLocRecEvCollection |
|
private |
◆ m_strKeyLocRecODEvCollection
| std::string ALFA_LocRec::m_strKeyLocRecODEvCollection |
|
private |
◆ m_strODCollectionName
| std::string ALFA_LocRec::m_strODCollectionName |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vecListAlgoMD
| std::vector<std::string> ALFA_LocRec::m_vecListAlgoMD |
|
private |
◆ m_vecListAlgoOD
| std::vector<std::string> ALFA_LocRec::m_vecListAlgoOD |
|
private |
◆ m_vhka
The documentation for this class was generated from the following files:
void GetData(Int_t(&iNumU)[MAXTRACKNUM], Int_t(&iNumV)[MAXTRACKNUM], Float_t(&fOvU)[MAXTRACKNUM], Float_t(&fOvV)[MAXTRACKNUM], Int_t(&iFibSel)[MAXTRACKNUM][ALFALAYERSCNT *ALFAPLATESCNT])
Float_t m_fzMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT]
StatusCode Execute(Int_t iRPot, const std::list< MDHIT > &ListMDHits)
bool StoreReconstructionGeometry(const eRPotName eRPName, const eFiberType eFType, const char *szDataDestination)
Float_t m_fbOD[RPOTSCNT][ODPLATESCNT][ODSIDESCNT][ODLAYERSCNT *ODFIBERSCNT]
Const iterator class for DataVector/DataList.
std::string m_strODCollectionName
Bool_t m_bEdgeMethod_Opt_UseGaps
void GetData(Int_t &NumU, Int_t &NumV, Float_t &OL_U, Float_t &OL_V, Int_t(&iFibSel)[ALFALAYERSCNT *ALFAPLATESCNT])
std::list< eRPotName > m_ListExistingRPots
GEOMETRYCONFIGURATION m_Config
Int_t m_iMultiplicityCutOD
StatusCode Execute(Int_t iRPot, const std::list< MDHIT > &ListMDHits)
StatusCode Initialize(Float_t faMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT], Float_t fbMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT], Int_t iMultiplicityCut, Int_t iUVCut, Float_t fOverlapCut)
std::string m_strKeyGeometryForReco
StatusCode RecordODCollection()
eGeoSourceType GetRPGeometryType(const eRPotName eRPName, eFiberType eFType)
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
const char * GetRPotLabel(const eRPotName eRPName)
ALFA_LocRecODEvent * m_pLocRecODEvent
bool GetVFiberParams(PFIBERPARAMS pFiberParams, const eRPotName eRPName, const int nPlateID, const int nFiberID)
void GetData(Int_t(&iFibSel)[ODSIDESCNT][ODPLATESCNT])
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
std::string m_strKeyLocRecEvCollection
StatusCode Finalize(Float_t &fRecXPos, Float_t &fRecYPos)
StatusCode Finalize(std::list< ODRESULT > *pListResults)
ALFA_LocRecODEvCollection * m_pLocRecODEvCollection
Bool_t m_bEdgeMethod_Opt_Sisters
StatusCode Execute(const std::list< MDHIT > &ListMDHits)
Bool_t EdgeMethod(UInt_t no_Detector, std::vector< Track > &tracks)
std::string m_strKeyLocRecODEvCollection
std::string strODConnString
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
std::string strMDConnString
virtual void setOwner(IDataHandleHolder *o)=0
StatusCode Finalize(Float_t(&fRecXPos)[MAXTRACKNUM], Float_t(&fRecYPos)[MAXTRACKNUM])
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
StatusCode Initialize(Int_t iRPot, Float_t faMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT], Float_t fbMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT], Int_t iMultiplicityCut, Int_t iNumLayerCut, Int_t iUVCut, Float_t fOverlapCut)
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
StatusCode Finalize(Float_t &fRecXPos, Float_t &fRecYPos)
void GetData(Int_t(&iNumU)[MAXTRACKNUM], Int_t(&iNumV)[MAXTRACKNUM], Float_t(&fOvU)[MAXTRACKNUM], Float_t(&fOvV)[MAXTRACKNUM], Int_t(&iFibSel)[ALFALAYERSCNT *ALFAPLATESCNT])
void GetData(Int_t &iNumU, Int_t &iNumV, Float_t &fOvU, Float_t &fOvV, Int_t(&iFibSel)[ALFALAYERSCNT *ALFAPLATESCNT])
StatusCode Finalize(Float_t(&fRecXPos)[MAXTRACKNUM], Float_t(&fRecYPos)[MAXTRACKNUM])
std::vector< std::string > m_vecListAlgoMD
virtual StatusCode sysInitialize() override
Override sysInitialize.
std::string m_strCollectionName
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
ALFA_LocRecEvent * m_pLocRecEvent
StatusCode ExecuteRecoMethod(const std::string &strAlgo, const eRPotName eRPName, const std::list< MDHIT > &ListMDHits, const std::list< ODHIT > &ListODHits)
StatusCode Execute(Int_t iRPot, const std::list< ODHIT > &ListODHits, Float_t faOD[RPOTSCNT][ODPLATESCNT][ODSIDESCNT][ODLAYERSCNT *ODFIBERSCNT], Float_t fbOD[RPOTSCNT][ODPLATESCNT][ODSIDESCNT][ODLAYERSCNT *ODFIBERSCNT])
StatusCode Initialize(const eRPotName &eRPName, const std::list< MDHIT > &ListMDHits, Float_t faMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT], Float_t fbMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT], Float_t fzMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT])
::StatusCode StatusCode
StatusCode definition for legacy code.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
void GetData(Int_t(&iFibSel)[ALFALAYERSCNT *ALFAPLATESCNT])
StatusCode Initialize(Int_t fMultiplicityCut, Float_t fDistanceCut, Int_t iLayerCut, Int_t iDataType)
StatusCode ALFACollectionReading(std::list< MDHIT > &ListMDHits, std::list< ODHIT > &ListODHits)
bool Initialize(const PGEOMETRYCONFIGURATION pConfig, eFiberCoordSystem eFCoordSystem)
ALFA_GeometryReader * m_pGeometryReader
void selectedFibers(UInt_t no_Detector, Track &track, Int_t *selectedFib)
CFGRPPOSPARAMS CfgRPosParams[RPOTSCNT]
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
StatusCode Execute(const std::list< MDHIT > &ListMDHits)
StatusCode Initialize(const eRPotName &eRPName, const std::list< MDHIT > &ListMDHits, Float_t faMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT], Float_t fbMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT], Float_t fzMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT])
void GetData(Int_t(&iFibSel)[ALFALAYERSCNT *ALFAPLATESCNT])
void Initialize(Int_t iRPot, Float_t faMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT], Float_t fbMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT], const std::list< MDHIT > &ListMDHits)
std::vector< std::string > m_vecListAlgoOD
Float_t m_faOD[RPOTSCNT][ODPLATESCNT][ODSIDESCNT][ODLAYERSCNT *ODFIBERSCNT]
value_type push_back(value_type pElem)
Add an element to the end of the collection.
bool GetODFiberParams(PFIBERPARAMS pFiberParams, const eFiberType eFType, const eRPotName eRPName, const int nPlateID, const int nFiberID)
StatusCode Finalize(Float_t &fRecXPos, Float_t &fRecYPos)
ALFA_LocRecEvCollection * m_pLocRecEvCollection
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
Float_t m_fbMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT]
DataObjIDColl m_extendedExtraObjects
bool GetUFiberParams(PFIBERPARAMS pFiberParams, const eRPotName eRPName, const int nPlateID, const int nFiberID)
StatusCode Initialize(Float_t faMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT], Float_t fbMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT], Int_t iHalf, Int_t fMultiplicityCut, Int_t iUVCut, Float_t fOverlapCut)
void GetListOfExistingRPotIDs(std::list< eRPotName > *pListRPotName)
#define ATH_MSG_WARNING(x)
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
AthAlgorithm()
Default constructor:
std::string strRPMetrologyConnString
StatusCode Finalize(Float_t &fRecXPos, Float_t &fRecYPos)
Float_t m_faMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT]
StatusCode Initialize(Int_t iRPot, Float_t faMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT], Float_t fbMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT], Int_t iUVCut, Float_t fOverlapCut)
StatusCode RecordCollection()
Int_t m_iMultiplicityCutMD
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
Float_t m_fzOD[RPOTSCNT][ODPLATESCNT][ODSIDESCNT][ODLAYERSCNT *ODFIBERSCNT]