diff --git a/DetectorDescription/GeoModel/FaserGeoModel/python/GeoModelInit.py b/DetectorDescription/GeoModel/FaserGeoModel/python/GeoModelInit.py index e645c94bc676149dd92ee6b4357f73f23b462f95..0820c0ad2e863b540776c8ce14612235138fb2a2 100644 --- a/DetectorDescription/GeoModel/FaserGeoModel/python/GeoModelInit.py +++ b/DetectorDescription/GeoModel/FaserGeoModel/python/GeoModelInit.py @@ -18,11 +18,14 @@ def _setupGeoModel(): from GeoModelSvc.GeoModelSvcConf import GeoModelSvc geoModelSvc = GeoModelSvc() svcMgr += geoModelSvc - theApp.CreateSvc += [ "GeoModelSvc"] + theApp.CreateSvc += [ "GeoModelSvc" ] + + DDversion = jobproperties.Global.DetDescrVersion() # Set up detector tools here - if not hasattr(svcMgr,'NeutrinoGeometryDBSvc'): + + if "FaserNu" in DDversion and not hasattr(svcMgr,'NeutrinoGeometryDBSvc'): from GeometryDBSvc.GeometryDBSvcConf import GeometryDBSvc svcMgr+=GeometryDBSvc("NeutrinoGeometryDBSvc") @@ -39,9 +42,10 @@ def _setupGeoModel(): svcMgr+=GeometryDBSvc("CaloGeometryDBSvc") # from AthenaCommon import CfgGetter - from EmulsionGeoModel.EmulsionGeoModelConf import EmulsionDetectorTool - emulsionDetectorTool = EmulsionDetectorTool(DetectorName = "Emulsion", Alignable = True, RDBAccessSvc = "RDBAccessSvc", GeometryDBSvc = "NeutrinoGeometryDBSvc", GeoDbTagSvc = "GeoDbTagSvc") - geoModelSvc.DetectorTools += [ emulsionDetectorTool ] + if "FaserNu" in DDversion: + from EmulsionGeoModel.EmulsionGeoModelConf import EmulsionDetectorTool + emulsionDetectorTool = EmulsionDetectorTool(DetectorName = "Emulsion", Alignable = True, RDBAccessSvc = "RDBAccessSvc", GeometryDBSvc = "NeutrinoGeometryDBSvc", GeoDbTagSvc = "GeoDbTagSvc") + geoModelSvc.DetectorTools += [ emulsionDetectorTool ] from VetoGeoModel.VetoGeoModelConf import VetoDetectorTool vetoDetectorTool = VetoDetectorTool( DetectorName = "Veto", @@ -79,6 +83,20 @@ def _setupGeoModel(): geoModelSvc.DetectorTools += [ faserSCTDetectorTool ] +# Deal with SCT alignment conditions folders and algorithms + + conddb.addFolderSplitOnline("SCT","/Tracker/Onl/Align","/Tracker/Align",className="AlignableTransformContainer") + from AthenaCommon.AlgSequence import AthSequencer + condSeq = AthSequencer("AthCondSeq") + if not hasattr(condSeq, "FaserSCT_AlignCondAlg"): + from FaserSCT_ConditionsAlgorithms.FaserSCT_ConditionsAlgorithmsConf import FaserSCT_AlignCondAlg + condSeq += FaserSCT_AlignCondAlg(name = "FaserSCT_AlignCondAlg", + UseDynamicAlignFolders = False) + if not hasattr(condSeq, "FaserSCT_DetectorElementCondAlg"): + from FaserSCT_ConditionsAlgorithms.FaserSCT_ConditionsAlgorithmsConf import FaserSCT_DetectorElementCondAlg + condSeq += FaserSCT_DetectorElementCondAlg(name = "FaserSCT_DetectorElementCondAlg") + + from DipoleGeoModel.DipoleGeoModelConf import DipoleTool dipoleTool = DipoleTool( RDBAccessSvc = "RDBAccessSvc", GeometryDBSvc = "TrackerGeometryDBSvc", diff --git a/Tracker/TrackerRecAlgs/TrackerSeedFinder/CMakeLists.txt b/Tracker/TrackerRecAlgs/TrackerSeedFinder/CMakeLists.txt index 7aea7a085b439165e216db77e26aecc78eb5bdce..b37eb389da8103ef92ad755e133465b92c3b9afa 100644 --- a/Tracker/TrackerRecAlgs/TrackerSeedFinder/CMakeLists.txt +++ b/Tracker/TrackerRecAlgs/TrackerSeedFinder/CMakeLists.txt @@ -11,6 +11,7 @@ find_package( Eigen ) # Component(s) in the package: atlas_add_library( TrackerSeedFinderLib src/components/*.cxx src/*.cxx src/*.h + NO_PUBLIC_HEADERS INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS} LINK_LIBRARIES ${EIGEN_LIBRARIES} AthenaBaseComps AthContainers GeoPrimitives Identifier GaudiKernel TrackerReadoutGeometry TrackerRawData TrackerSimData GeneratorObjects TrackerSimEvent TrackerSpacePoint VxVertex FaserDetDescr xAODEventInfo TrackerIdentifier TrackerPrepRawData AthenaMonitoringKernelLib) diff --git a/graphics/VTI12/README.md b/graphics/VTI12/README.md index 47e64e0abd2bc3e01bd66f6c3bde193ca894ab32..20b87b07520403e8b69da9e888f6fb588154a092 100644 --- a/graphics/VTI12/README.md +++ b/graphics/VTI12/README.md @@ -2,11 +2,11 @@ To run on Calypso MC data (from an installation (run) directory): % source ./setup.sh -% export VP1PLUGINPATH=./lib +% export VP1PLUGINPATH=/home/yourname/path/to/runfolder/lib % vti12 -mc -noautoconf -nosortdbreplicas <input HITS or EVNT file> -Note that VP1PLUGINPATH can be ninja-changed by asetup, and if it does not include the Calypso installation library folder, nothing will work +Note that VP1PLUGINPATH can be ninja-changed by asetup, and if it does not include the Calypso installation library folder, nothing will work. Also note that it must be an ABSOLUTE (not relative) path! You can also give the -detdescr="FASER-01" or -detdescr="FASER-02" and -globcond="OFLCOND-FASER-01" or -globcond="OFLCOND-FASER-02" flags to specify the detector geometry and conditions. diff --git a/graphics/VTI12/VTI12Systems/VTI12TrackSystems/CMakeLists.txt b/graphics/VTI12/VTI12Systems/VTI12TrackSystems/CMakeLists.txt index a93fb1a1f3cac4e08a829987eb0533bac47b785f..f8dfd19e8d3c13e9df693506262f6963d17f4e23 100644 --- a/graphics/VTI12/VTI12Systems/VTI12TrackSystems/CMakeLists.txt +++ b/graphics/VTI12/VTI12Systems/VTI12TrackSystems/CMakeLists.txt @@ -34,7 +34,7 @@ atlas_add_library( VTI12TrackSystems VTI12TrackSystems/*.h src/*.cxx ScintIdentifier ScintSimEvent ScintReadoutGeometry TrackerIdentifier TrackerReadoutGeometry TrackerSimEvent FaserCaloIdentifier CaloReadoutGeometry FaserCaloSimEvent - #InDetPrepRawData InDetRIO_OnTrack + TrackerPrepRawData TrackerRIO_OnTrack Particle TrkDetDescrUtils TrkDetElementBase TrkVolumes TrkCompetingRIOsOnTrack TrkMaterialOnTrack TrkMeasurementBase TrkPrepRawData diff --git a/graphics/VTI12/VTI12Systems/VTI12TrackSystems/src/TrackHandleBase.cxx b/graphics/VTI12/VTI12Systems/VTI12TrackSystems/src/TrackHandleBase.cxx index be99be51812f3a25848b52255256d4962169c07d..39ef6f97749d8df801fbbd7930fb3dd369d2b6bb 100644 --- a/graphics/VTI12/VTI12Systems/VTI12TrackSystems/src/TrackHandleBase.cxx +++ b/graphics/VTI12/VTI12Systems/VTI12TrackSystems/src/TrackHandleBase.cxx @@ -58,6 +58,7 @@ #include "GeoPrimitives/GeoPrimitives.h" #include <cassert> +#include <math.h> @@ -717,9 +718,10 @@ void TrackHandleBase::Imp::rebuild3DObjects() // SoCoin classes don't support Unincode here, apparently. // text << VP1Msg::str("(")+QChar(0x03B7)+","+QChar(0x03D5)+VP1Msg::str(")=(") // +VP1Msg::str(mom.pseudoRapidity())+VP1Msg::str(VP1LinAlgUtils::phiFromXY(mom.x(), mom.y() ))+VP1Msg::str(")"); - double pseudoRapidity = mom.eta(); - text << VP1Msg::str("(eta,phi)=(") - +VP1Msg::str(pseudoRapidity)+VP1Msg::str(",")+VP1Msg::str(VP1LinAlgUtils::phiFromXY(mom.x(), mom.y() ))+VP1Msg::str(")"); + // double pseudoRapidity = mom.eta(); + double polarAngle = mom.theta(); + text << VP1Msg::str("(theta,phi)=(") + +VP1Msg::str(polarAngle)+VP1Msg::str(",")+VP1Msg::str(VP1LinAlgUtils::phiFromXY(mom.x(), mom.y() ))+VP1Msg::str(")"); } } @@ -1360,11 +1362,13 @@ QStringList TrackHandleBase::baseInfo() const } else { l << "Momentum [GeV]: "+VP1Msg::str(mom); l << "|Pt|/|P| [GeV]: "+VP1Msg::str(mom.perp())+" / " + VP1Msg::str(mom.mag()); - l << VP1Msg::str("(")+QChar(0x03B7)+","+QChar(0x03D5)+VP1Msg::str(")=(") - +VP1Msg::str(mom.eta())+VP1Msg::str(",")+VP1Msg::str(VP1LinAlgUtils::phiFromXY(mom.x(), mom.y() ))+VP1Msg::str(")"); + l << VP1Msg::str("(")+QChar(0x03B8)+","+QChar(0x03D5)+VP1Msg::str(")=(") + +VP1Msg::str(mom.theta())+VP1Msg::str(",")+VP1Msg::str(VP1LinAlgUtils::phiFromXY(mom.x(), mom.y() ))+VP1Msg::str(")"); - l << "Eta: "+VP1Msg::str(mom.eta()); + l << "Theta: "+VP1Msg::str(mom.theta()); l << "Phi: "+VP1Msg::str(VP1LinAlgUtils::phiFromXY(mom.x(), mom.y() )); + l << "ThetaXZ: "+VP1Msg::str(atan2(mom.x(), mom.z() )); + l << "ThetaYZ: "+VP1Msg::str(atan2(mom.y(), mom.z() )); } l<<"Hit summary: SCT["+QString::number(getNSCTHits())+"]."; diff --git a/graphics/VTI12/VTI12Systems/VTI12TrackSystems/src/TrackHandle_TrkTrack.cxx b/graphics/VTI12/VTI12Systems/VTI12TrackSystems/src/TrackHandle_TrkTrack.cxx index dbcd53e653e1c35b9e87f6a3b2a3c946ffcc9e28..4ca64b733809ad98a9ee2e20ddcc1f75433df71d 100644 --- a/graphics/VTI12/VTI12Systems/VTI12TrackSystems/src/TrackHandle_TrkTrack.cxx +++ b/graphics/VTI12/VTI12Systems/VTI12TrackSystems/src/TrackHandle_TrkTrack.cxx @@ -47,6 +47,7 @@ TrackHandle_TrkTrack::~TrackHandle_TrkTrack() //____________________________________________________________________ QStringList TrackHandle_TrkTrack::clicked() const { + ensureInitSubSysHitInfo(); // Object browser stuff QTreeWidget* trkObjBrowser = common()->controller()->trackObjBrowser(); if (trkObjBrowser){ diff --git a/graphics/VTI12/VTI12Systems/VTI12TrackSystems/src/TrkObjToString.cxx b/graphics/VTI12/VTI12Systems/VTI12TrackSystems/src/TrkObjToString.cxx index 75c1c1977ca33c5a81261ebf4ea69edc5b8051a7..3853682034c8578d23c403ad16a32b21ef9af6bc 100644 --- a/graphics/VTI12/VTI12Systems/VTI12TrackSystems/src/TrkObjToString.cxx +++ b/graphics/VTI12/VTI12Systems/VTI12TrackSystems/src/TrkObjToString.cxx @@ -17,6 +17,8 @@ //ROTs #include "TrkRIO_OnTrack/RIO_OnTrack.h" +#include "TrackerRIO_OnTrack/FaserSCT_ClusterOnTrack.h" + // #include "InDetRIO_OnTrack/PixelClusterOnTrack.h" // #include "InDetRIO_OnTrack/SCT_ClusterOnTrack.h" // #include "InDetRIO_OnTrack/TRT_DriftCircleOnTrack.h" @@ -61,8 +63,8 @@ TrkObjToString::type(const Trk::MeasurementBase* meas) // ROTS // if (dynamic_cast<const InDet::PixelClusterOnTrack*> (meas)) // {return TrkObjToString::Pixel;} - // if (dynamic_cast<const InDet::SCT_ClusterOnTrack*> (meas)) - // {return TrkObjToString::SCT;} + if (dynamic_cast<const Tracker::FaserSCT_ClusterOnTrack*> (meas)) + {return TrkObjToString::SCT;} } else { // Other types if (dynamic_cast<const Trk::CompetingRIOsOnTrack*>(meas) )