From d1432ba33ba9a4886105a29ab300060091bcf2a0 Mon Sep 17 00:00:00 2001 From: Ishan Goel Date: Wed, 3 Jun 2026 17:27:07 -0400 Subject: [PATCH 1/6] Changes for adding the variables required for TPC Debugger. --- offline/packages/trackbase/Makefile.am | 10 +- offline/packages/trackbase/TrkrCluster.h | 24 ++ offline/packages/trackbase/TrkrClusterv6.cc | 141 ++++++++++ offline/packages/trackbase/TrkrClusterv6.h | 261 ++++++++++++++++++ .../packages/trackbase/TrkrClusterv6LinkDef.h | 5 + 5 files changed, 439 insertions(+), 2 deletions(-) create mode 100644 offline/packages/trackbase/TrkrClusterv6.cc create mode 100644 offline/packages/trackbase/TrkrClusterv6.h create mode 100644 offline/packages/trackbase/TrkrClusterv6LinkDef.h diff --git a/offline/packages/trackbase/Makefile.am b/offline/packages/trackbase/Makefile.am index bcb0b81d96..ae52c70a93 100644 --- a/offline/packages/trackbase/Makefile.am +++ b/offline/packages/trackbase/Makefile.am @@ -40,6 +40,7 @@ AM_LDFLAGS = \ pkginclude_HEADERS = \ ActsAborter.h \ ActsGeometry.h \ + ActsGsfTrackFittingAlgorithm.h \ ActsSourceLink.h \ ActsSurfaceMaps.h \ ActsTrackFittingAlgorithm.h \ @@ -70,8 +71,8 @@ pkginclude_HEADERS = \ LaserClusterContainerv1.h \ LaserClusterv1.h \ LaserClusterv2.h \ - MaterialWiper.h \ MagneticFieldOptions.h \ + MaterialWiper.h \ MvtxDefs.h \ MvtxEventInfo.h \ MvtxEventInfov1.h \ @@ -115,6 +116,7 @@ pkginclude_HEADERS = \ TrkrClusterv3.h \ TrkrClusterv4.h \ TrkrClusterv5.h \ + TrkrClusterv6.h \ TrkrDefs.h \ TrkrHit.h \ TrkrHitSet.h \ @@ -187,6 +189,7 @@ ROOTDICTS = \ TrkrClusterv3_Dict.cc \ TrkrClusterv4_Dict.cc \ TrkrClusterv5_Dict.cc \ + TrkrClusterv6_Dict.cc \ TrkrHitSetContMvtxHelper_Dict.cc \ TrkrHitSetContMvtxHelperv1_Dict.cc \ TrkrHitSetContainer_Dict.cc \ @@ -218,6 +221,7 @@ libtrack_la_SOURCES = \ MagneticFieldOptions.cc \ sPHENIXActsDetectorElement.cc \ TGeoDetectorWithOptions.cc \ + TrackFittingAlgorithmFunctionsGsf.cc \ TrackFittingAlgorithmFunctionsKalman.cc \ TrackFitUtils.cc @@ -273,6 +277,7 @@ libtrack_io_la_SOURCES = \ TrkrClusterv3.cc \ TrkrClusterv4.cc \ TrkrClusterv5.cc \ + TrkrClusterv6.cc \ TrkrDefs.cc \ TrkrHitSet.cc \ TrkrHitSetContMvtxHelper.cc \ @@ -290,7 +295,8 @@ libtrack_io_la_SOURCES = \ libtrack_la_LIBADD = \ libtrack_io.la \ -lActsCore \ - -lActsPluginRoot \ + -lActsExamplesMagneticField \ + -lActsPluginTGeo \ -lActsExamplesDetectorTGeo \ -lffamodules \ -lboost_program_options diff --git a/offline/packages/trackbase/TrkrCluster.h b/offline/packages/trackbase/TrkrCluster.h index 7fd091a527..0fdb36b6eb 100644 --- a/offline/packages/trackbase/TrkrCluster.h +++ b/offline/packages/trackbase/TrkrCluster.h @@ -79,6 +79,30 @@ class TrkrCluster : public PHObject virtual float getPhiError() const { return NAN; } virtual float getRPhiError() const { return NAN; } virtual float getZError() const { return NAN; } + virtual unsigned int getCenAdc() const { return UINT_MAX; } + virtual float getPadCen() const { return NAN; } + virtual float getTBinCen() const { return NAN; } + virtual float getPadMax() const { return NAN; } + virtual float getTBinMax() const { return NAN; } + virtual char getSLEdge() const { return std::numeric_limits::max(); } + virtual char getSREdge() const { return std::numeric_limits::max(); } + virtual char getTLEdge() const { return std::numeric_limits::max(); } + virtual char getTREdge() const { return std::numeric_limits::max(); } + virtual char getDLEdge() const { return std::numeric_limits::max(); } + virtual char getDREdge() const { return std::numeric_limits::max(); } + virtual char getHLEdge() const { return std::numeric_limits::max(); } + virtual char getHREdge() const { return std::numeric_limits::max(); } + virtual int getSLMix() const { return std::numeric_limits::max(); } + virtual int getSRMix() const { return std::numeric_limits::max(); } + virtual int getTLMix() const { return std::numeric_limits::max(); } + virtual int getTRMix() const { return std::numeric_limits::max(); } + virtual float getPhiBinLo() const { return NAN; } + virtual float getPhiBinHi() const { return NAN; } + virtual float getTBinLo() const { return NAN; } + virtual float getTBinHi() const { return NAN; } + virtual float getPadPhase() const { return NAN; } + virtual float getTBinPhase() const { return NAN; } + virtual float getRSize() const { return NAN; } /// Acts functions, for Acts modules use only virtual void setActsLocalError(unsigned int /*i*/, unsigned int /*j*/, float /*value*/) {} diff --git a/offline/packages/trackbase/TrkrClusterv6.cc b/offline/packages/trackbase/TrkrClusterv6.cc new file mode 100644 index 0000000000..bb2c1716d7 --- /dev/null +++ b/offline/packages/trackbase/TrkrClusterv6.cc @@ -0,0 +1,141 @@ +/** + * @file trackbase/TrkrClusterv6.cc + * @author Ishan Goel + * @date May 2026 + * @brief Implementation of TrkrClusterv6 + */ +#include "TrkrClusterv6.h" + +#include +#include // for swap + +namespace +{ + // square convenience function + template + inline constexpr T square(const T& x) + { + return x * x; + } +} // namespace + +TrkrClusterv6::TrkrClusterv6() + : m_subsurfkey(TrkrDefs::SUBSURFKEYMAX) + , m_phierr(0) + , m_zerr(0) + , m_adc(0) + , m_maxadc(0) + , m_cenadc(0) + , m_padcen(0) + , m_tbincen(0) + , m_padmax(0) + , m_tbinmax(0) + , m_rsize(0) + , m_phisize(0) + , m_zsize(0) + , m_overlap(0) + , m_edge(0) + , m_sledge(0) + , m_sredge(0) + , m_tledge(0) + , m_tredge(0) + , m_dledge(0) + , m_dredge(0) + , m_hledge(0) + , m_hredge(0) + , m_slmix(0) + , m_srmix(0) + , m_tlmix(0) + , m_trmix(0) + , m_phibinlo(0) + , m_phibinhi(0) + , m_tbinlo(0) + , m_tbinhi(0) + , m_padphase(0) + , m_tbinphase(0) +{ + for (float& i : m_local) + { + i = NAN; + } +} + +void TrkrClusterv6::identify(std::ostream& os) const +{ + os << "---TrkrClusterv6--------------------" << std::endl; + + os << " (rphi,z) = (" << getLocalX(); + os << ", " << getLocalY() << ") cm "; + + os << " valid = " << isValid() << std::endl; + + os << std::endl; + os << "-----------------------------------------------" << std::endl; + + return; +} + +int TrkrClusterv6::isValid() const +{ + for (int i = 0; i < 2; ++i) + { + if (std::isnan(getPosition(i))) + { + return 0; + } + } + if (m_adc == 0xFFFF) + { + return 0; + } + + return 1; +} + +void TrkrClusterv6::CopyFrom(const TrkrCluster& source) +{ + // do nothing if copying onto oneself + if (this == &source) + { + return; + } + + // parent class method + TrkrCluster::CopyFrom(source); + + setLocalX(source.getLocalX()); + setLocalY(source.getLocalY()); + setSubSurfKey(source.getSubSurfKey()); + setAdc(source.getAdc()); + setMaxAdc(source.getMaxAdc()); + setCenAdc(source.getCenAdc()); + setPadCen(source.getPadCen()); + setTBinCen(source.getTBinCen()); + setPadMax(source.getPadMax()); + setTBinMax(source.getTBinMax()); + setPhiError(source.getRPhiError()); + setZError(source.getZError()); + setRSize(source.getRSize()); + setPhiSize(source.getPhiSize()); + setZSize(source.getZSize()); + setOverlap(source.getOverlap()); + setEdge(source.getEdge()); + setSLEdge(source.getSLEdge()); + setSREdge(source.getSREdge()); + setTLEdge(source.getTLEdge()); + setTREdge(source.getTREdge()); + setDLEdge(source.getDLEdge()); + setDREdge(source.getDREdge()); + setHLEdge(source.getHLEdge()); + setHREdge(source.getHREdge()); + setSLMix(source.getSLMix()); + setSRMix(source.getSRMix()); + setTLMix(source.getTLMix()); + setTRMix(source.getTRMix()); + setPhiBinLo(source.getPhiBinLo()); + setPhiBinHi(source.getPhiBinHi()); + setTBinLo(source.getTBinLo()); + setTBinHi(source.getTBinHi()); + setPadPhase(source.getPadPhase()); + setTBinPhase(source.getTBinPhase()); +} diff --git a/offline/packages/trackbase/TrkrClusterv6.h b/offline/packages/trackbase/TrkrClusterv6.h new file mode 100644 index 0000000000..5587ba7cf6 --- /dev/null +++ b/offline/packages/trackbase/TrkrClusterv6.h @@ -0,0 +1,261 @@ +/** + * @file trackbase/TrkrClusterv6.h + * @author Ishan Goel + * @date May 2026 + * @brief Version 6 of TrkrCluster + */ +#ifndef TRACKBASE_TRKRCLUSTERV6_H +#define TRACKBASE_TRKRCLUSTERV6_H + +#include +#include "TrkrCluster.h" +#include "TrkrDefs.h" + +class PHObject; + +/** + * @brief Version 6 of TrkrCluster + * + * This version of TrkrCluster is blown up to contain a maximum of information + */ + +class TrkrClusterv6 : public TrkrCluster +{ + public: + //! ctor + TrkrClusterv6(); + + //! dtor + ~TrkrClusterv6() override = default; + + // PHObject virtual overloads + + void identify(std::ostream& os = std::cout) const override; + void Reset() override {} + int isValid() const override; + PHObject* CloneMe() const override { return new TrkrClusterv6(*this); } + + //! import PHObject CopyFrom, in order to avoid clang warning + using PHObject::CopyFrom; + + //! copy content from base class + void CopyFrom(const TrkrCluster&) override; + + //! copy content from base class + void CopyFrom(TrkrCluster* source) override + { + CopyFrom(*source); + } + + // + // cluster position + // + float getPosition(int coor) const override { return m_local[coor]; } + void setPosition(int coor, float xi) override { m_local[coor] = xi; } + float getLocalX() const override { return m_local[0]; } + void setLocalX(float loc0) override { m_local[0] = loc0; } + float getLocalY() const override { return m_local[1]; } + void setLocalY(float loc1) override { m_local[1] = loc1; } + + TrkrDefs::subsurfkey getSubSurfKey() const override { return m_subsurfkey; } + void setSubSurfKey(TrkrDefs::subsurfkey id) override { m_subsurfkey = id; } + + // + // cluster info + // + unsigned int getAdc() const override { return m_adc; } + void setAdc(unsigned int adc) override { m_adc = adc; } + + unsigned int getMaxAdc() const override { return m_maxadc; } + void setMaxAdc(uint16_t maxadc) override { m_maxadc = maxadc; } + + unsigned int getCenAdc() const override { return m_cenadc; } + void setCenAdc(uint16_t cenadc) { m_cenadc = cenadc; } + + float getPadCen() const override { return m_padcen; } + void setPadCen(float padcen) { m_padcen = padcen; } + + float getTBinCen() const override { return m_tbincen; } + void setTBinCen(float tbincen) { m_tbincen = tbincen; } + + float getPadMax() const override { return m_padmax; } + void setPadMax(float padmax) { m_padmax = padmax; } + + float getTBinMax() const override { return m_tbinmax; } + void setTBinMax(float tbinmax) { m_tbinmax = tbinmax; } + + // + // convenience interface + // + float getRPhiError() const override { return m_phierr; } + float getZError() const override { return m_zerr; } + + void setPhiError(float phierror) { m_phierr = phierror; } + void setZError(float zerror) { m_zerr = zerror; } + + /// deprecated global funtions with a warning + float getX() const override + { + std::cout << "Deprecated getx trkrcluster function!" << std::endl; + return NAN; + } + float getY() const override + { + std::cout << "Deprecated gety trkrcluster function!" << std::endl; + return NAN; + } + float getZ() const override + { + std::cout << "Deprecated getz trkrcluster function!" << std::endl; + return NAN; + } + void setX(float) override + { + std::cout << "Deprecated setx trkrcluster function!" << std::endl; + } + void setY(float) override + { + std::cout << "Deprecated sety trkrcluster function!" << std::endl; + } + void setZ(float) override + { + std::cout << "Deprecated setz trkrcluster function!" << std::endl; + } + float getSize(unsigned int, unsigned int) const override + { + std::cout << "Deprecated getsize trkrcluster function!" << std::endl; + return NAN; + } + void setSize(unsigned int, unsigned int, float) override + { + std::cout << "Deprecated setsize trkrcluster function!" << std::endl; + } + float getError(unsigned int, unsigned int) const override + { + std::cout << "Deprecated geterr trkrcluster function!" << std::endl; + return NAN; + } + void setError(unsigned int, unsigned int, float) override + { + std::cout << "Deprecated seterr trkrcluster function!" << std::endl; + } + + char getSize() const override { return m_phisize * m_zsize; } + // void setSize(char size) { m_size = size; } + + float getRSize() const override { return (float) m_rsize; } + void setRSize(char rsize) { m_rsize = rsize; } + + float getPhiSize() const override { return (float) m_phisize; } + void setPhiSize(char phisize) { m_phisize = phisize; } + + float getZSize() const override { return (float) m_zsize; } + void setZSize(char zsize) { m_zsize = zsize; } + + char getOverlap() const override { return m_overlap; } + void setOverlap(char overlap) override { m_overlap = overlap; } + + char getEdge() const override { return m_edge; } + void setEdge(char edge) override { m_edge = edge; } + + char getSLEdge() const override { return m_sledge; } + void setSLEdge(char sledge) { m_sledge = sledge; } + + char getSREdge() const override { return m_sredge; } + void setSREdge(char sredge) { m_sredge = sredge; } + + char getTLEdge() const override { return m_tledge; } + void setTLEdge(char tledge) { m_tledge = tledge; } + + char getTREdge() const override { return m_tredge; } + void setTREdge(char tredge) { m_tredge = tredge; } + + char getDLEdge() const override { return m_dledge; } + void setDLEdge(char dledge) { m_dledge = dledge; } + + char getDREdge() const override { return m_dredge; } + void setDREdge(char dredge) { m_dredge = dredge; } + + char getHLEdge() const override { return m_hledge; } + void setHLEdge(char hledge) { m_hledge = hledge; } + + char getHREdge() const override { return m_hredge; } + void setHREdge(char hredge) { m_hredge = hredge; } + + int getSLMix() const override { return (int) m_slmix; } + void setSLMix(char slmix) { m_slmix = slmix; } + + int getSRMix() const override { return (int) m_srmix; } + void setSRMix(char srmix) { m_srmix = srmix; } + + int getTLMix() const override { return (int) m_tlmix; } + void setTLMix(char tlmix) { m_tlmix = tlmix; } + + int getTRMix() const override { return (int) m_trmix; } + void setTRMix(char trmix) { m_trmix = trmix; } + + float getPhiBinLo() const override { return m_phibinlo; } + void setPhiBinLo(float phibinlo) { m_phibinlo = phibinlo; } + + float getPhiBinHi() const override { return m_phibinhi; } + void setPhiBinHi(float phibinhi) { m_phibinhi = phibinhi; } + + float getTBinLo() const override { return m_tbinlo; } + void setTBinLo(float tbinlo) { m_tbinlo = tbinlo; } + + float getTBinHi() const override { return m_tbinhi; } + void setTBinHi(float tbinhi) { m_tbinhi = tbinhi; } + + float getPadPhase() const override { return m_padphase; } + void setPadPhase(float padphase) { m_padphase = padphase; } + + float getTBinPhase() const override { return m_tbinphase; } + void setTBinPhase(float tbinphase){ m_tbinphase = tbinphase; } + + // float getPhiSize() const override + //{ std::cout << "Deprecated size function"<< std::endl; return NAN;} + // float getZSize() const override + //{std::cout << "Deprecated size function" << std::endl; return NAN;} + // float getPhiError() const override + //{ std::cout << "Deprecated getPhiError function"<< std::endl; return NAN;} + + protected: + float m_local[2]{}; //< 2D local position [cm] 2 * 32 64bit - cumul 1*64 + TrkrDefs::subsurfkey m_subsurfkey; //< unique identifier for hitsetkey-surface maps 16 bit + float m_phierr; + float m_zerr; + unsigned short int m_adc; //< cluster sum adc 16 + unsigned short int m_maxadc; //< cluster max adc 16 + unsigned short int m_cenadc; //< cluster centroid adc 16 + float m_padcen; + float m_tbincen; + float m_padmax; + float m_tbinmax; + char m_rsize; // 8bit + char m_phisize; // 8bit + char m_zsize; // 8bit + char m_overlap; // 8bit + char m_edge; // 8bit - cumul 2*64 + char m_sledge; // 8bit + char m_sredge; // 8bit + char m_tledge; // 8bit + char m_tredge; // 8bit + char m_dledge; // 8bit + char m_dredge; // 8bit + char m_hledge; // 8bit + char m_hredge; // 8bit + char m_slmix; // 8bit + char m_srmix; // 8bit + char m_tlmix; // 8bit + char m_trmix; // 8bit + float m_phibinlo; + float m_phibinhi; + float m_tbinlo; + float m_tbinhi; + float m_padphase; + float m_tbinphase; + + ClassDefOverride(TrkrClusterv6, 2) +}; + +#endif // TRACKBASE_TRKRCLUSTERV6_H diff --git a/offline/packages/trackbase/TrkrClusterv6LinkDef.h b/offline/packages/trackbase/TrkrClusterv6LinkDef.h new file mode 100644 index 0000000000..936ec262cc --- /dev/null +++ b/offline/packages/trackbase/TrkrClusterv6LinkDef.h @@ -0,0 +1,5 @@ +#ifdef __CINT__ + +#pragma link C++ class TrkrClusterv6 + ; + +#endif From b2a8a4737fca38a31649879c8db38936a2a1ca2b Mon Sep 17 00:00:00 2001 From: Ishan Goel Date: Thu, 4 Jun 2026 13:05:21 -0400 Subject: [PATCH 2/6] Fixed the MakeFile --- offline/packages/trackbase/Makefile.am | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/offline/packages/trackbase/Makefile.am b/offline/packages/trackbase/Makefile.am index ae52c70a93..63a8307d3a 100644 --- a/offline/packages/trackbase/Makefile.am +++ b/offline/packages/trackbase/Makefile.am @@ -40,7 +40,6 @@ AM_LDFLAGS = \ pkginclude_HEADERS = \ ActsAborter.h \ ActsGeometry.h \ - ActsGsfTrackFittingAlgorithm.h \ ActsSourceLink.h \ ActsSurfaceMaps.h \ ActsTrackFittingAlgorithm.h \ @@ -221,7 +220,6 @@ libtrack_la_SOURCES = \ MagneticFieldOptions.cc \ sPHENIXActsDetectorElement.cc \ TGeoDetectorWithOptions.cc \ - TrackFittingAlgorithmFunctionsGsf.cc \ TrackFittingAlgorithmFunctionsKalman.cc \ TrackFitUtils.cc @@ -295,8 +293,7 @@ libtrack_io_la_SOURCES = \ libtrack_la_LIBADD = \ libtrack_io.la \ -lActsCore \ - -lActsExamplesMagneticField \ - -lActsPluginTGeo \ + -lActsPluginRoot \ -lActsExamplesDetectorTGeo \ -lffamodules \ -lboost_program_options From 3283cb3a814ebcda2cbcaaff8dc232180314b515 Mon Sep 17 00:00:00 2001 From: Ishan Goel Date: Thu, 4 Jun 2026 20:51:13 -0400 Subject: [PATCH 3/6] Suggestions applied. --- offline/packages/trackbase/TrkrClusterv6.h | 36 +++++++++++++++------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/offline/packages/trackbase/TrkrClusterv6.h b/offline/packages/trackbase/TrkrClusterv6.h index 5587ba7cf6..19bd74889e 100644 --- a/offline/packages/trackbase/TrkrClusterv6.h +++ b/offline/packages/trackbase/TrkrClusterv6.h @@ -44,14 +44,27 @@ class TrkrClusterv6 : public TrkrCluster //! copy content from base class void CopyFrom(TrkrCluster* source) override { + if (!source) + { + return; + } CopyFrom(*source); } // // cluster position // - float getPosition(int coor) const override { return m_local[coor]; } - void setPosition(int coor, float xi) override { m_local[coor] = xi; } + float getPosition(int coor) const override + { + return (coor >= 0 && coor < 2) ? m_local[coor] : NAN; + } + void setPosition(int coor, float xi) override + { + if (coor >= 0 && coor < 2) + { + m_local[coor] = xi; + } + } float getLocalX() const override { return m_local[0]; } void setLocalX(float loc0) override { m_local[0] = loc0; } float getLocalY() const override { return m_local[1]; } @@ -144,7 +157,7 @@ class TrkrClusterv6 : public TrkrCluster // void setSize(char size) { m_size = size; } float getRSize() const override { return (float) m_rsize; } - void setRSize(char rsize) { m_rsize = rsize; } + void setRSize(unsigned char rsize) { m_rsize = rsize; } float getPhiSize() const override { return (float) m_phisize; } void setPhiSize(char phisize) { m_phisize = phisize; } @@ -182,16 +195,16 @@ class TrkrClusterv6 : public TrkrCluster char getHREdge() const override { return m_hredge; } void setHREdge(char hredge) { m_hredge = hredge; } - int getSLMix() const override { return (int) m_slmix; } + int getSLMix() const override { return m_slmix; } void setSLMix(char slmix) { m_slmix = slmix; } - int getSRMix() const override { return (int) m_srmix; } + int getSRMix() const override { return m_srmix; } void setSRMix(char srmix) { m_srmix = srmix; } - int getTLMix() const override { return (int) m_tlmix; } + int getTLMix() const override { return m_tlmix; } void setTLMix(char tlmix) { m_tlmix = tlmix; } - int getTRMix() const override { return (int) m_trmix; } + int getTRMix() const override { return m_trmix; } void setTRMix(char trmix) { m_trmix = trmix; } float getPhiBinLo() const override { return m_phibinlo; } @@ -219,8 +232,9 @@ class TrkrClusterv6 : public TrkrCluster // float getPhiError() const override //{ std::cout << "Deprecated getPhiError function"<< std::endl; return NAN;} - protected: - float m_local[2]{}; //< 2D local position [cm] 2 * 32 64bit - cumul 1*64 + private: + float m_local[2]{std::numeric_limits::quiet_NaN(), std::numeric_limits::quiet_NaN()}; + //< 2D local position [cm] 2 * 32 64bit - cumul 1*64 TrkrDefs::subsurfkey m_subsurfkey; //< unique identifier for hitsetkey-surface maps 16 bit float m_phierr; float m_zerr; @@ -231,7 +245,7 @@ class TrkrClusterv6 : public TrkrCluster float m_tbincen; float m_padmax; float m_tbinmax; - char m_rsize; // 8bit + unsigned char m_rsize; char m_phisize; // 8bit char m_zsize; // 8bit char m_overlap; // 8bit @@ -255,7 +269,7 @@ class TrkrClusterv6 : public TrkrCluster float m_padphase; float m_tbinphase; - ClassDefOverride(TrkrClusterv6, 2) + ClassDefOverride(TrkrClusterv6, 1) }; #endif // TRACKBASE_TRKRCLUSTERV6_H From f25df97ad25582e4432531984623b6588bf53e25 Mon Sep 17 00:00:00 2001 From: Ishan Goel Date: Thu, 4 Jun 2026 21:05:19 -0400 Subject: [PATCH 4/6] More fix --- offline/packages/trackbase/TrkrClusterv6.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/offline/packages/trackbase/TrkrClusterv6.h b/offline/packages/trackbase/TrkrClusterv6.h index 19bd74889e..bb86bf00ed 100644 --- a/offline/packages/trackbase/TrkrClusterv6.h +++ b/offline/packages/trackbase/TrkrClusterv6.h @@ -196,16 +196,16 @@ class TrkrClusterv6 : public TrkrCluster void setHREdge(char hredge) { m_hredge = hredge; } int getSLMix() const override { return m_slmix; } - void setSLMix(char slmix) { m_slmix = slmix; } + void setSLMix(unsigned char slmix) { m_slmix = slmix; } int getSRMix() const override { return m_srmix; } - void setSRMix(char srmix) { m_srmix = srmix; } + void setSRMix(unsigned char srmix) { m_srmix = srmix; } int getTLMix() const override { return m_tlmix; } - void setTLMix(char tlmix) { m_tlmix = tlmix; } + void setTLMix(unsigned char tlmix) { m_tlmix = tlmix; } int getTRMix() const override { return m_trmix; } - void setTRMix(char trmix) { m_trmix = trmix; } + void setTRMix(unsigned char trmix) { m_trmix = trmix; } float getPhiBinLo() const override { return m_phibinlo; } void setPhiBinLo(float phibinlo) { m_phibinlo = phibinlo; } @@ -233,7 +233,7 @@ class TrkrClusterv6 : public TrkrCluster //{ std::cout << "Deprecated getPhiError function"<< std::endl; return NAN;} private: - float m_local[2]{std::numeric_limits::quiet_NaN(), std::numeric_limits::quiet_NaN()}; + float m_local[2]{std::numeric_limits::quiet_NaN(), std::numeric_limits::quiet_NaN()}; //< 2D local position [cm] 2 * 32 64bit - cumul 1*64 TrkrDefs::subsurfkey m_subsurfkey; //< unique identifier for hitsetkey-surface maps 16 bit float m_phierr; @@ -245,7 +245,7 @@ class TrkrClusterv6 : public TrkrCluster float m_tbincen; float m_padmax; float m_tbinmax; - unsigned char m_rsize; + unsigned char m_rsize; // 8bit char m_phisize; // 8bit char m_zsize; // 8bit char m_overlap; // 8bit @@ -258,10 +258,10 @@ class TrkrClusterv6 : public TrkrCluster char m_dredge; // 8bit char m_hledge; // 8bit char m_hredge; // 8bit - char m_slmix; // 8bit - char m_srmix; // 8bit - char m_tlmix; // 8bit - char m_trmix; // 8bit + unsigned char m_slmix; // 8bit + unsigned char m_srmix; // 8bit + unsigned char m_tlmix; // 8bit + unsigned char m_trmix; // 8bit float m_phibinlo; float m_phibinhi; float m_tbinlo; From 95b6c443a589719984662ee1c2c66b4e5667b797 Mon Sep 17 00:00:00 2001 From: Ishan Goel Date: Thu, 4 Jun 2026 22:07:50 -0400 Subject: [PATCH 5/6] Another. --- offline/packages/trackbase/TrkrClusterv6.h | 1 + 1 file changed, 1 insertion(+) diff --git a/offline/packages/trackbase/TrkrClusterv6.h b/offline/packages/trackbase/TrkrClusterv6.h index bb86bf00ed..96742d25fa 100644 --- a/offline/packages/trackbase/TrkrClusterv6.h +++ b/offline/packages/trackbase/TrkrClusterv6.h @@ -8,6 +8,7 @@ #define TRACKBASE_TRKRCLUSTERV6_H #include +#include #include "TrkrCluster.h" #include "TrkrDefs.h" From 92fb173add77d97c2d87bf43211c22936984d5b2 Mon Sep 17 00:00:00 2001 From: Ishan Goel Date: Fri, 5 Jun 2026 12:14:28 -0400 Subject: [PATCH 6/6] Clang Tidy fixes. --- .../.ActsGsfTrackFittingAlgorithm.h.swo | Bin 0 -> 16384 bytes offline/packages/trackbase/ActsGeometry.cc | 62 +- offline/packages/trackbase/ActsGeometry.h | 10 +- .../trackbase/ActsGsfTrackFittingAlgorithm.h | 4 +- .../trackbase/ActsTrackFittingAlgorithm.h | 6 +- .../packages/trackbase/ActsTrackingGeometry.h | 3 +- .../trackbase/AlignmentTransformation.cc | 156 ++--- .../trackbase/AlignmentTransformation.h | 14 +- offline/packages/trackbase/Calibrator.h | 3 +- .../packages/trackbase/ClusterErrorPara.cc | 512 +++++++------- offline/packages/trackbase/ClusterErrorPara.h | 77 ++- offline/packages/trackbase/CommonOptions.cc | 30 +- offline/packages/trackbase/CommonOptions.h | 79 +-- offline/packages/trackbase/IBaseDetector.h | 35 +- offline/packages/trackbase/InttDefs.cc | 2 +- offline/packages/trackbase/LaserCluster.h | 30 +- .../trackbase/LaserClusterContainer.h | 23 +- .../trackbase/LaserClusterContainerLinkDef.h | 2 +- .../trackbase/LaserClusterContainerv1.cc | 22 +- .../trackbase/LaserClusterContainerv1.h | 12 +- .../LaserClusterContainerv1LinkDef.h | 2 +- .../packages/trackbase/LaserClusterLinkDef.h | 2 +- offline/packages/trackbase/LaserClusterv1.cc | 91 ++- offline/packages/trackbase/LaserClusterv1.h | 38 +- .../trackbase/LaserClusterv1LinkDef.h | 2 +- offline/packages/trackbase/LaserClusterv2.cc | 93 ++- offline/packages/trackbase/LaserClusterv2.h | 38 +- .../trackbase/LaserClusterv2LinkDef.h | 2 +- .../trackbase/MagneticFieldOptions.cc | 87 ++- .../packages/trackbase/MagneticFieldOptions.h | 18 +- offline/packages/trackbase/Makefile.am | 641 +++++++++--------- offline/packages/trackbase/MaterialWiper.h | 42 +- offline/packages/trackbase/MvtxDefs.cc | 4 +- offline/packages/trackbase/MvtxEventInfov2.h | 2 +- offline/packages/trackbase/RawHitSetv1.h | 14 +- .../trackbase/ResidualOutlierFinder.h | 18 +- offline/packages/trackbase/SpacePoint.h | 6 +- .../trackbase/TGeoDetectorWithOptions.cc | 103 +-- .../trackbase/TGeoDetectorWithOptions.h | 24 +- offline/packages/trackbase/TpcDefs.cc | 2 +- offline/packages/trackbase/TpcDefs.h | 2 +- offline/packages/trackbase/TrackFitUtils.cc | 6 +- offline/packages/trackbase/TrackFitUtils.h | 96 ++- .../TrackFittingAlgorithmFunctionsKalman.cc | 1 - .../trackbase/TrackVertexCrossingAssoc_v1.cc | 36 +- .../packages/trackbase/TrkrClusterContainer.h | 5 +- .../trackbase/TrkrClusterContainerv4.cc | 11 +- .../packages/trackbase/TrkrClusterHitAssoc.h | 3 +- offline/packages/trackbase/TrkrClusterv6.h | 38 +- offline/packages/trackbase/TrkrDefs.cc | 2 +- offline/packages/trackbase/TrkrDefs.h | 11 +- offline/packages/trackbase/TrkrHit.h | 7 +- .../trackbase/TrkrHitSetContainerv2.cc | 22 +- .../trackbase/TrkrHitSetContainerv2.h | 2 +- .../trackbase/TrkrHitSetContainerv2LinkDef.h | 2 +- offline/packages/trackbase/TrkrHitSetTpc.h | 6 +- .../packages/trackbase/TrkrHitSetTpcLinkDef.h | 2 +- offline/packages/trackbase/TrkrHitSetTpcv1.h | 4 +- .../trackbase/TrkrHitSetTpcv1LinkDef.h | 2 +- .../alignmentTransformationContainer.h | 1 - offline/packages/trackbase/autogen.sh | 13 +- offline/packages/trackbase/configure.ac | 5 +- .../trackbase/sPHENIXActsDetectorElement.cc | 2 +- .../trackbase/sPHENIXActsDetectorElement.h | 6 +- 64 files changed, 1325 insertions(+), 1271 deletions(-) create mode 100644 offline/packages/trackbase/.ActsGsfTrackFittingAlgorithm.h.swo mode change 100755 => 100644 offline/packages/trackbase/autogen.sh diff --git a/offline/packages/trackbase/.ActsGsfTrackFittingAlgorithm.h.swo b/offline/packages/trackbase/.ActsGsfTrackFittingAlgorithm.h.swo new file mode 100644 index 0000000000000000000000000000000000000000..09ac5aba529090ff24b277b35adf6fefcafcdd05 GIT binary patch literal 16384 zcmeHOO^h5z6|RJzU^^yJ5QtMKHqtQbjAzz{M9|(Wtk=71i(PDG?buvc)pXa)w6~|b zsj3<8+89J2L^;3#kjMdq6oRZ(_-UcGwt-m9MO++*j~>HFI!39fqy`P*M-t~O5J_s|p19VLE0;(;#T z=aTUt+#X3T<{oZK&vo0~FlhIqak*KiANOQu7^>uE?qmlIdFXFm0Xp*i@IRNSIQ6ji$OmUz8VbMgL2RHb1i{d z0)!kT?>%{9PD|o}nRnB--FK-LN-cp}0<{Ec3Dgp(B~VMCmOw3mS_1z^5>WA-{IWq-S+_x7>=sU=WLpq4-_fm#B!1ZoM?5~w9mOQ4oOErD7BwFLeL zCBQsFX2I7j9q{A)KaKxixrdOKfo}lM00KAzECKfde|jq+KLVZxJYWuZ{U{-?0Y3yD z2hIcU18(0<$Sc6h!1sXf0?z_p0lo};33v*45?BWA0d5^3Ri+ z2V4Z+3EVzJ$P2(Hft$d`fEnO^;0SOS_~Tm$`2+Ag@GS5Ia0Pe}cB)O6W}@E8n6!h?u~@}7Wf*_13n169rz6r zDNh3fzyagajzS))buRjRovT6Q(MRYof2!!o^CjyBd@%^tndXlLXIbcJw$OC? z%L+=Y8wqtjToxh{Xj^=&sC|w5{efBI>fEf@=|v zM31=~O(Hv^^U`s2S=Q@KX`9oS$>qN>-sxeTor6^RW ze6y-rpGWp}D{DGr{S}`FUi!l7gZ|XVaqzK^uKE49Fnmp|+&|G_N z5KACuxIKzJtrNMrTjG!jltuX4mrMo6iDI5Cq2}zK{Vg;bmS(orIvwi9u{+@I)^RzC zV|>sgDb|-%8w#Bdq0Z%zEoWHPVZ6u zmr7f9Lwjmfj45wzX?LS2*u&srkUbViOF5}rw6MEhTgerTDk{twt`bF%{&l{ocH2=? zCDAY=mDTb>r*`$?Ttn-PnQE(Gn)r>R*r72d&UX_fnzB@~VlGncL0hQ=gi0$FE45GP zck(j)RvNh$s6zAQ0N+S@o3RoLMhvv5XwwA#xBm!a$f~pEW$cQ+s2NhR9D$ZN;nf6qoJ9N`7^$Nb-$2pVL998jh(dA zf0)+sf0yYhb~8pvD);ixps^5Nd?;wNAceD%8I=wH6LWLyy?vG%cBqJl?8?~NCSTHrw9YgBhaZ|92sd zeGg(?9sj52`%faq-vV6VBybFP9Wnm%zz=|L1J?loECYvtJAl6<-v0~mXW-Ys&w-x- zUjQxwcL6^}eE&t@EN~jQjkx|L;BnwO@FC!zi0fYk{sBA#jDQHZ3i!ZBfh)if;6=pu z-vYh~d=(JD$AJ#;4&WAI{7(ZP0PY7~!dO2G90T;Y8$f;45~w9mOQ4oOErALNWI3#2 zE@3U|_qk}myVAdKb&na}z0VakX@<;{snMKS-B_7PU3Xmur@(Pm7B4QY&1Pw%eWK+S zJ!tYE4X4V^YqswrybW29h5IJ0+M*K?cuJ@u_D)|-x^J{Q8QwIV=I>68N6`J$ND z;bC()*hy{>j@{VzxL81-UnoxLn09+nD?4QiIs=415f=P3P0S{=OvIMP^E$6prajfW za-7WR$}<8<(yJ$Y9(p!}nc5yfkV!f?h@UTY*Gn4{$wCY@&a$@fHMe6 z(kKjez&6`KiQp93IyR1ck0yr%VkhBaz@;W|mW?@ORPq=;B{FxW+b*{p!=;B{{Lq$z z5>673IihO7kmJ}`p)%$!d{-AioQXm5sE$&*h|)YBow)j0j<;pTBD2*YI8s!hP0X}= zzG})W0VmsCjwRKcMPj5-2pQ|5#93y6^^zfwR+@Lo8A${u+gZkvc}PMBqhUC|qL)e% z_-4tsB#XPy+~PYKcd1&y35VeErinkLRyQ&QhT!ACSe>Hgf>|LH71FqN9O)=b4yRH- z?Q%fhCM{)`ot!nPYl<|k5Lnq*V&*bTEoEm}iyn)Sgf1qs(^YTN-^mE4bbf$Dw(iz+ zI(1FjLFBsBs8TOG081<}7~|x4!lvT#)G>@tL1WEu_Uqi3q(`~L{(?+=dP>nWTAk{& zT`&1`+5{(7Au;@Q1!r5S2Bd}NRrz=%$?bBxpIpXYtn=i|LNilkS~z18f# z@2SSP_%rwPG)^%A?fjd3uQ41UN@X(T@;}XYma$6NP6sTn`N|#8W+GD^#lwQ9hZp&5 h73BvDs}KCr(~#Yhlk3vNF+}kU3&&Iy2P>Gme*wNRQ?vj8 literal 0 HcmV?d00001 diff --git a/offline/packages/trackbase/ActsGeometry.cc b/offline/packages/trackbase/ActsGeometry.cc index 7965193149..7bcd1adf14 100644 --- a/offline/packages/trackbase/ActsGeometry.cc +++ b/offline/packages/trackbase/ActsGeometry.cc @@ -1,15 +1,15 @@ #include "ActsGeometry.h" +#include #include #include "TpcDefs.h" #include "TrkrCluster.h" #include "alignmentTransformationContainer.h" -#include namespace { /// square template - inline constexpr T square(const T& x) + constexpr T square(const T& x) { return x * x; } @@ -59,8 +59,8 @@ Acts::Vector3 ActsGeometry::getGlobalPosition(TrkrDefs::cluskey key, TrkrCluster //________________________________________________________________________________________________ Acts::Vector3 ActsGeometry::getGlobalPositionTpc(const TrkrDefs::hitsetkey& hitsetkey, -const TrkrDefs::hitkey& hitkey, const float& phi, const float& rad, -const float& clockPeriod) const + const TrkrDefs::hitkey& hitkey, const float& phi, const float& rad, + const float& clockPeriod) const { Acts::Vector3 glob; const auto trkrid = TrkrDefs::getTrkrId(hitsetkey); @@ -72,15 +72,15 @@ const float& clockPeriod) const auto tbin = TpcDefs::getTBin(hitkey); double zdriftlength = tbin * clockPeriod * _drift_velocity; // cm - double zloc = _max_driftlength / 2.0 - zdriftlength; // local z relative to surface center (for north side): + double zloc = _max_driftlength / 2.0 - zdriftlength; // local z relative to surface center (for north side): unsigned int side = TpcDefs::getSide(hitsetkey); if (side == 0) { zloc = -zloc; } - - float surfaceZCenter = _max_driftlength/2.0 + _CM_halfwidth; - + + float surfaceZCenter = _max_driftlength / 2.0 + _CM_halfwidth; + auto x = rad * std::cos(phi); auto y = rad * std::sin(phi); auto z = surfaceZCenter + zloc; @@ -107,16 +107,16 @@ Acts::Vector3 ActsGeometry::getGlobalPositionTpc(TrkrDefs::cluskey key, TrkrClus /* std::cout << " getGlobalPositionTpc transform is: " << std::endl - << surface->transform(m_tGeometry.getGeoContext()).matrix() - << std::endl; + << surface->transform(m_tGeometry.getGeoContext()).matrix() + << std::endl; alignmentTransformationContainer::use_alignment = false; Acts::Vector3 ideal_center = surface->center(m_tGeometry.getGeoContext()) * 0.1; - alignmentTransformationContainer::use_alignment = true; + alignmentTransformationContainer::use_alignment = true; Acts::Vector3 sensorCenter = surface->center(m_tGeometry.getGeoContext()) * 0.1; // cm std::cout << " ideal surface center: " << ideal_center << std::endl; std::cout << " aligned surface center: " << sensorCenter << std::endl; */ - + if (!surface) { std::cerr << "Couldn't identify cluster surface. Returning NAN" @@ -128,17 +128,15 @@ Acts::Vector3 ActsGeometry::getGlobalPositionTpc(TrkrDefs::cluskey key, TrkrClus } Acts::Vector2 local = getLocalCoords(key, cluster); // no crossing correction here - + glob = surface->localToGlobal(m_tGeometry.getGeoContext(), local * Acts::UnitConstants::cm, Acts::Vector3(1, 1, 1)); glob /= Acts::UnitConstants::cm; - // std::cout << " local " << local << std::endl; // std::cout << " glob " << glob << std::endl; - return glob; } @@ -149,7 +147,7 @@ Surface ActsGeometry::get_tpc_surface_from_coords( { unsigned int layer = TrkrDefs::getLayer(hitsetkey); unsigned int side = TpcDefs::getSide(hitsetkey); - + auto mapIter = m_surfMaps.m_tpcSurfaceMap.find(layer); if (mapIter == m_surfMaps.m_tpcSurfaceMap.end()) @@ -177,14 +175,14 @@ Surface ActsGeometry::get_tpc_surface_from_coords( } unsigned int nsurf = nsurfm % surf_vec.size(); Surface this_surf = surf_vec[nsurf]; - //std::cout << " world_phi " << world_phi << " fraction " << fraction << " rounded_nsurf " << rounded_nsurf << " nsurfm " << nsurfm << " nsurf " << nsurf << std::endl; - + // std::cout << " world_phi " << world_phi << " fraction " << fraction << " rounded_nsurf " << rounded_nsurf << " nsurfm " << nsurfm << " nsurf " << nsurf << std::endl; + auto vec3d = this_surf->center(m_tGeometry.getGeoContext()); std::vector surf_center = {vec3d(0) / 10.0, vec3d(1) / 10.0, vec3d(2) / 10.0}; // convert from mm to cm double surf_phi = atan2(surf_center[1], surf_center[0]); double surfStepPhi = m_tGeometry.tpcSurfStepPhi; // std::cout << " surf_phi " << surf_phi << " surfStepPhi " << surfStepPhi << " nsurf " << nsurf << std::endl; - + if ((world_phi > surf_phi - surfStepPhi / 2.0 && world_phi < surf_phi + surfStepPhi / 2.0)) { surf_index = nsurf; @@ -200,19 +198,19 @@ Surface ActsGeometry::get_tpc_surface_from_coords( { world_phi += 2.0 * M_PI; } - //check a few surfaces around this one - for( int i = -1; i <= 1; i++) + // check a few surfaces around this one + for (int i = -1; i <= 1; i++) { - if(i==0) // already tried this one + if (i == 0) // already tried this one { continue; } - unsigned int new_nsurf = (nsurf+i) % surf_vec.size(); + unsigned int new_nsurf = (nsurf + i) % surf_vec.size(); this_surf = surf_vec[new_nsurf]; vec3d = this_surf->center(geometry().getGeoContext()); surf_center = {vec3d(0) / 10.0, vec3d(1) / 10.0, vec3d(2) / 10.0}; // convert from mm to cm surf_phi = atan2(surf_center[1], surf_center[0]); - //std::cout << " new world_phi " << world_phi << " new surf_phi " << surf_phi << " new_nsurf " << new_nsurf << std::endl; + // std::cout << " new world_phi " << world_phi << " new surf_phi " << surf_phi << " new_nsurf " << new_nsurf << std::endl; if ((world_phi > surf_phi - surfStepPhi / 2.0 && world_phi < surf_phi + surfStepPhi / 2.0)) { surf_index = new_nsurf; @@ -251,7 +249,6 @@ Acts::Vector2 ActsGeometry::getLocalCoords(TrkrDefs::cluskey key, TrkrCluster* c return local; } - //________________________________________________________________________________________________ Acts::Vector2 ActsGeometry::getLocalCoords(TrkrDefs::cluskey key, TrkrCluster* cluster, short int crossing) const { @@ -261,9 +258,9 @@ Acts::Vector2 ActsGeometry::getLocalCoords(TrkrDefs::cluskey key, TrkrCluster* c if (trkrid == TrkrDefs::tpcId) { double crossing_tzero_correction = crossing * sphenix_constants::time_between_crossings; - double tcorrected = cluster->getLocalY() + _tpc_tzero + _sampa_tzero_bias - crossing_tzero_correction; - double zdriftlength = tcorrected * _drift_velocity; - double zloc = _max_driftlength/2.0 - zdriftlength; // local z relative to surface center (for north side): + double tcorrected = cluster->getLocalY() + _tpc_tzero + _sampa_tzero_bias - crossing_tzero_correction; + double zdriftlength = tcorrected * _drift_velocity; + double zloc = _max_driftlength / 2.0 - zdriftlength; // local z relative to surface center (for north side): unsigned int side = TpcDefs::getSide(key); if (side == 0) { @@ -274,12 +271,11 @@ Acts::Vector2 ActsGeometry::getLocalCoords(TrkrDefs::cluskey key, TrkrCluster* c /* std::cout << " clust " << cluster->getLocalY() << " tpc tzero " << _tpc_tzero << " sampa tbias " << _sampa_tzero_bias - << " crossing tzero correction " << crossing_tzero_correction << " corrected clust " << tcorrected - << " drift vel " << _drift_velocity - << " crossing " << crossing << " crossing period " << sphenix_constants::time_between_crossings - << " maxdriftlength " << _max_driftlength << " zdriftlength " << zdriftlength << " zloc " << zloc << std::endl; + << " crossing tzero correction " << crossing_tzero_correction << " corrected clust " << tcorrected + << " drift vel " << _drift_velocity + << " crossing " << crossing << " crossing period " << sphenix_constants::time_between_crossings + << " maxdriftlength " << _max_driftlength << " zdriftlength " << zdriftlength << " zloc " << zloc << std::endl; */ - } else { diff --git a/offline/packages/trackbase/ActsGeometry.h b/offline/packages/trackbase/ActsGeometry.h index df391d98bb..641ddd2445 100644 --- a/offline/packages/trackbase/ActsGeometry.h +++ b/offline/packages/trackbase/ActsGeometry.h @@ -73,7 +73,7 @@ class ActsGeometry Surface get_tpc_surface_from_coords( TrkrDefs::hitsetkey hitsetkey, Acts::Vector3 world, - TrkrDefs::subsurfkey& subsurfkey) const ; + TrkrDefs::subsurfkey& subsurfkey) const; Acts::Transform3 makeAffineTransform(Acts::Vector3 rotation, Acts::Vector3 translation) const; @@ -83,11 +83,11 @@ class ActsGeometry private: ActsTrackingGeometry m_tGeometry; ActsSurfaceMaps m_surfMaps; - double _drift_velocity = 8.0e-3; // cm/ns + double _drift_velocity = 8.0e-3; // cm/ns double _max_driftlength = 102.235; // cm - double _CM_halfwidth = 0.28; // cm - double _tpc_tzero = 0.0; // ns - double _sampa_tzero_bias = 0.0; // ns + double _CM_halfwidth = 0.28; // cm + double _tpc_tzero = 0.0; // ns + double _sampa_tzero_bias = 0.0; // ns }; #endif diff --git a/offline/packages/trackbase/ActsGsfTrackFittingAlgorithm.h b/offline/packages/trackbase/ActsGsfTrackFittingAlgorithm.h index d0de5fadbd..14ff43e787 100644 --- a/offline/packages/trackbase/ActsGsfTrackFittingAlgorithm.h +++ b/offline/packages/trackbase/ActsGsfTrackFittingAlgorithm.h @@ -13,7 +13,7 @@ #include #include -#pragma GCC diagnostic push // needed for local Act compilation +#pragma GCC diagnostic push // needed for local Act compilation #pragma GCC diagnostic ignored "-Wunused-local-typedefs" #include #pragma GCC diagnostic pop @@ -45,8 +45,6 @@ namespace Acts::TrackContainer; - - struct GsfFitterFunctionImpl : public ActsTrackFittingAlgorithm::TrackFitterFunction { diff --git a/offline/packages/trackbase/ActsTrackFittingAlgorithm.h b/offline/packages/trackbase/ActsTrackFittingAlgorithm.h index c68698b9d7..6431f8572a 100644 --- a/offline/packages/trackbase/ActsTrackFittingAlgorithm.h +++ b/offline/packages/trackbase/ActsTrackFittingAlgorithm.h @@ -5,14 +5,14 @@ #include "Calibrator.h" #include "ResidualOutlierFinder.h" -#include -#include #include #include +#include #include +#include #include #include -#pragma GCC diagnostic push // needed for local Act compilation +#pragma GCC diagnostic push // needed for local Act compilation #pragma GCC diagnostic ignored "-Wunused-local-typedefs" #include #pragma GCC diagnostic pop diff --git a/offline/packages/trackbase/ActsTrackingGeometry.h b/offline/packages/trackbase/ActsTrackingGeometry.h index 8320872592..0580ebf989 100644 --- a/offline/packages/trackbase/ActsTrackingGeometry.h +++ b/offline/packages/trackbase/ActsTrackingGeometry.h @@ -1,7 +1,6 @@ #ifndef TRACKBASE_ACTSTRACKINGGEOMETRY_H #define TRACKBASE_ACTSTRACKINGGEOMETRY_H - #pragma GCC diagnostic push #ifdef __clang__ #pragma GCC diagnostic ignored "-Wundefined-internal" @@ -26,7 +25,7 @@ */ struct ActsTrackingGeometry { - ActsTrackingGeometry() { } + ActsTrackingGeometry() {} ActsTrackingGeometry(std::shared_ptr tGeo, // ActsTrackingGeometry(std::shared_ptr tGeo, std::shared_ptr mag, diff --git a/offline/packages/trackbase/AlignmentTransformation.cc b/offline/packages/trackbase/AlignmentTransformation.cc index 171d9684ac..6e000e4737 100644 --- a/offline/packages/trackbase/AlignmentTransformation.cc +++ b/offline/packages/trackbase/AlignmentTransformation.cc @@ -157,12 +157,12 @@ void AlignmentTransformation::createMap(PHCompositeNode* topNode) linecount++; - if(localVerbosity > 0) - { - std::cout << hitsetkey << " " << alpha << " " << beta << " " << gamma << " " << dx << " " << dy << " " << dz - << " " << dgrx << " " << dgry << " " << dgrz << std::endl; - } - + if (localVerbosity > 0) + { + std::cout << hitsetkey << " " << alpha << " " << beta << " " << gamma << " " << dx << " " << dy << " " << dz + << " " << dgrx << " " << dgry << " " << dgrz << std::endl; + } + // Perturbation translations and angles for stave and sensor Eigen::Vector3d sensorAngles(alpha, beta, gamma); Eigen::Vector3d millepedeTranslation(dx, dy, dz); @@ -277,7 +277,7 @@ void AlignmentTransformation::createMap(PHCompositeNode* topNode) surf = surfMaps.getTpcSurface(this_hitsetkey, (unsigned int) sskey); Eigen::Vector3d localFrameTranslation(0, 0, 0); - use_module_tilt = false; + use_module_tilt = false; if (test_layer < 4 || use_module_tilt_always) { // get the local frame translation that puts the local surface center at the tilted position after the local rotations are applied @@ -287,8 +287,8 @@ void AlignmentTransformation::createMap(PHCompositeNode* topNode) float moduleRadius = TpcModuleRadii[side][sector][this_region]; // radius of the center of the module in cm localFrameTranslation = getTpcLocalFrameTranslation(moduleRadius, this_radius, sensorAngles) * 10; // cm to mm - // set this flag for later use - use_module_tilt = true; + // set this flag for later use + use_module_tilt = true; } Acts::Transform3 transform; @@ -422,83 +422,83 @@ Acts::Transform3 AlignmentTransformation::newMakeTransform(const Surface& surf, Acts::Transform3 transform; //! If we read the survey parameters directly, that is the full transform if (survey) + { + //! The millepede affines will just be what was read in, which was the + //! survey information. This should (in principle) be equivalent to + //! the ideal position + any misalignment + transform = mpGlobalTranslationAffine * mpGlobalRotationAffine * mpLocalRotationAffine; + } + else + { + // not survey. this is the normal usage + + if (trkrid == TrkrDefs::tpcId) { - //! The millepede affines will just be what was read in, which was the - //! survey information. This should (in principle) be equivalent to - //! the ideal position + any misalignment - transform = mpGlobalTranslationAffine * mpGlobalRotationAffine * mpLocalRotationAffine; + if (use_module_tilt) + { + // use module tilt transforms with local rotation followed by local translation + transform = mpGlobalTranslationAffine * mpGlobalRotationAffine * actsTranslationAffine * actsRotationAffine * mpLocalTranslationAffine * mpLocalRotationAffine; + } + else + { + // backward compatibility for old alignment params sets + transform = mpGlobalTranslationAffine * mpGlobalRotationAffine * actsTranslationAffine * mpLocalRotationAffine * actsRotationAffine; + } } - else + else { - // not survey. this is the normal usage - - if (trkrid == TrkrDefs::tpcId) - { - if(use_module_tilt) - { - // use module tilt transforms with local rotation followed by local translation - transform = mpGlobalTranslationAffine * mpGlobalRotationAffine * actsTranslationAffine * actsRotationAffine * mpLocalTranslationAffine * mpLocalRotationAffine; - } - else - { - // backward compatibility for old alignment params sets - transform = mpGlobalTranslationAffine * mpGlobalRotationAffine * actsTranslationAffine * mpLocalRotationAffine * actsRotationAffine; - } - } + // silicon and TPOT + if (use_new_silicon_rotation_order) + { + // use new transform order for silicon as well as TPC + transform = mpGlobalTranslationAffine * mpGlobalRotationAffine * actsTranslationAffine * actsRotationAffine * mpLocalTranslationAffine * mpLocalRotationAffine; + } else - { - // silicon and TPOT - if(use_new_silicon_rotation_order) - { - // use new transform order for silicon as well as TPC - transform = mpGlobalTranslationAffine * mpGlobalRotationAffine * actsTranslationAffine * actsRotationAffine * mpLocalTranslationAffine * mpLocalRotationAffine; - } - else - { - // needed for backward compatibility to existing local rotation parmeter sets in silicon - transform = mpGlobalTranslationAffine * mpGlobalRotationAffine * actsTranslationAffine * mpLocalRotationAffine * actsRotationAffine; - } - } + { + // needed for backward compatibility to existing local rotation parmeter sets in silicon + transform = mpGlobalTranslationAffine * mpGlobalRotationAffine * actsTranslationAffine * mpLocalRotationAffine * actsRotationAffine; + } } - + } + if (localVerbosity) + { + Acts::Transform3 actstransform = actsTranslationAffine * actsRotationAffine; + + std::cout << "newMakeTransform" << std::endl; + std::cout << "Input sensorAngles: " << std::endl + << sensorAngles << std::endl; + std::cout << "Input sensorAnglesGlobal: " << std::endl + << sensorAnglesGlobal << std::endl; + std::cout << "Input translation: " << std::endl + << millepedeTranslation << std::endl; + std::cout << "mpLocalRotationAffine: " << std::endl + << mpLocalRotationAffine.matrix() << std::endl; + std::cout << "mpLocalTranslationAffine: " << std::endl + << mpLocalTranslationAffine.matrix() << std::endl; + std::cout << "actsRotationAffine: " << std::endl + << actsRotationAffine.matrix() << std::endl; + std::cout << "actsTranslationAffine: " << std::endl + << actsTranslationAffine.matrix() << std::endl; + std::cout << "mpRotationGlobalAffine: " << std::endl + << mpGlobalRotationAffine.matrix() << std::endl; + std::cout << "mpTranslationGlobalAffine: " << std::endl + << mpGlobalTranslationAffine.matrix() << std::endl; + std::cout << "Overall transform: " << std::endl + << transform.matrix() << std::endl; + std::cout << "overall * idealinv " << std::endl + << (transform * actstransform.inverse()).matrix() << std::endl; + std::cout << "overall - ideal " << std::endl; + for (int test = 0; test < transform.matrix().rows(); test++) { - Acts::Transform3 actstransform = actsTranslationAffine * actsRotationAffine; - - std::cout << "newMakeTransform" << std::endl; - std::cout << "Input sensorAngles: " << std::endl - << sensorAngles << std::endl; - std::cout << "Input sensorAnglesGlobal: " << std::endl - << sensorAnglesGlobal << std::endl; - std::cout << "Input translation: " << std::endl - << millepedeTranslation << std::endl; - std::cout << "mpLocalRotationAffine: " << std::endl - << mpLocalRotationAffine.matrix() << std::endl; - std::cout << "mpLocalTranslationAffine: " << std::endl - << mpLocalTranslationAffine.matrix() << std::endl; - std::cout << "actsRotationAffine: " << std::endl - << actsRotationAffine.matrix() << std::endl; - std::cout << "actsTranslationAffine: " << std::endl - << actsTranslationAffine.matrix() << std::endl; - std::cout << "mpRotationGlobalAffine: " << std::endl - << mpGlobalRotationAffine.matrix() << std::endl; - std::cout << "mpTranslationGlobalAffine: " << std::endl - << mpGlobalTranslationAffine.matrix() << std::endl; - std::cout << "Overall transform: " << std::endl - << transform.matrix() << std::endl; - std::cout << "overall * idealinv " << std::endl - << (transform * actstransform.inverse()).matrix() << std::endl; - std::cout << "overall - ideal " << std::endl; - for (int test = 0; test < transform.matrix().rows(); test++) - { - for (int test2 = 0; test2 < transform.matrix().cols(); test2++) - { - std::cout << transform(test, test2) - actstransform(test, test2) << ", "; - } - std::cout << std::endl; - } + for (int test2 = 0; test2 < transform.matrix().cols(); test2++) + { + std::cout << transform(test, test2) - actstransform(test, test2) << ", "; + } + std::cout << std::endl; } - + } + return transform; } diff --git a/offline/packages/trackbase/AlignmentTransformation.h b/offline/packages/trackbase/AlignmentTransformation.h index e8eb3882d1..3e59e078e3 100644 --- a/offline/packages/trackbase/AlignmentTransformation.h +++ b/offline/packages/trackbase/AlignmentTransformation.h @@ -110,7 +110,7 @@ class AlignmentTransformation void setUseNewSiliconRotationOrder(bool flag) { use_new_silicon_rotation_order = flag; } void setUseModuleTiltAlways(bool flag) { use_module_tilt_always = flag; } -private: + private: Eigen::Vector3d mvtxAngleDev; Eigen::Vector3d mvtxTransDev; Eigen::Vector3d inttAngleDev; @@ -128,15 +128,15 @@ class AlignmentTransformation bool use_new_silicon_rotation_order = false; bool use_module_tilt_always = false; - bool use_module_tilt = false; // starts at false in all cases - + bool use_module_tilt = false; // starts at false in all cases + bool use_intt_survey_geometry = false; - + Acts::Transform3 newMakeTransform(const Surface& surf, Eigen::Vector3d& millepedeTranslation, Eigen::Vector3d& sensorAngles, Eigen::Vector3d& localFrameTranslation, Eigen::Vector3d& sensorAnglesGlobal, unsigned int trkrid, bool survey); - Eigen::Vector3d getTpcLocalFrameTranslation(float moduleRadius, float layerRadius, Eigen::Vector3d& localRotation) const; + Eigen::Vector3d getTpcLocalFrameTranslation(float moduleRadius, float layerRadius, Eigen::Vector3d& localRotation) const; void extractModuleCenterPositions(); - double extractModuleCenter(TrkrDefs::hitsetkey hitsetkey, double sectorphi); + double extractModuleCenter(TrkrDefs::hitsetkey hitsetkey, double sectorphi); alignmentTransformationContainer* transformMap = NULL; alignmentTransformationContainer* transformMapTransient = NULL; @@ -145,7 +145,7 @@ class AlignmentTransformation int getNodes(PHCompositeNode* topNode); // These should be checked and updated (ADF 12/2/2025) - float TpcModuleRadii[2][12][3] = {}; // module radial center in local coords + float TpcModuleRadii[2][12][3] = {}; // module radial center in local coords unsigned int innerLayer[3] = {}; double sectorPhi[2][12] = {}; }; diff --git a/offline/packages/trackbase/Calibrator.h b/offline/packages/trackbase/Calibrator.h index 651091ad5b..19a4d5add2 100644 --- a/offline/packages/trackbase/Calibrator.h +++ b/offline/packages/trackbase/Calibrator.h @@ -6,10 +6,9 @@ #include "TrkrDefs.h" #include "alignmentTransformationContainer.h" -#include #include #include - +#include class Calibrator { diff --git a/offline/packages/trackbase/ClusterErrorPara.cc b/offline/packages/trackbase/ClusterErrorPara.cc index f45a59b14b..ae28fe8120 100644 --- a/offline/packages/trackbase/ClusterErrorPara.cc +++ b/offline/packages/trackbase/ClusterErrorPara.cc @@ -1,9 +1,9 @@ #include "ClusterErrorPara.h" #include "TrkrCluster.h" -//#include -#include +// #include #include +#include #include #include @@ -22,36 +22,36 @@ namespace } // namespace -ClusterErrorPara::ClusterErrorPara(): - f0{new TF1("f0", "pol1", 0, 10)}, - f1{new TF1("f1", "pol2", 0, 10)}, - f2{new TF1("f2", "pol2", 0, 10)}, - f0fine{new TF1("f0fine", "pol2", 0, 20000)}, - f1fine{new TF1("f1fine", "pol3", 0, 20000)}, - f2fine{new TF1("f2fine", "pol5", 0, 20000)}, - f2fine2{new TF1("f2fine", "pol5", 0, 20000)}, - fz0{new TF1("fz0", "pol2", -2, 2)}, - fz1{new TF1("fz1", "pol4", -2, 2)}, - fz2{new TF1("fz2", "pol2", -2, 2)}, - fz0fine{new TF1("fz0fine", "pol2", 0, 20000)}, - fz1fine{new TF1("fz1fine", "pol3", 0, 20000)}, - fz2fine{new TF1("fz2fine", "pol5", 0, 20000)}, - fmm_55_2{new TF1("fmm_55_2", "pol2", -2, 2)}, - fmm_56_2{new TF1("fmm_56_2", "pol2", -2, 2)}, - fmm_3{new TF1("fmm_3", "pol2", -2, 2)}, - fadcz0{new TF1("fadcz0", "pol5", 0, 20000)}, - fadcz1{new TF1("fadcz1", "pol5", 0, 20000)}, - fadcz2{new TF1("fadcz2", "pol5", 0, 20000)}, - fadcz0fine{new TF1("fadcz0fine", "[0]+([1]/pow(x-[2],2))", 0, 20000)}, - fadcz1fine{new TF1("fadcz1fine", "[0]+([1]/pow(x-[2],2))", 0, 20000)}, - fadcz2fine{new TF1("fadcz2fine", "[0]+([1]/pow(x-[2],2))", 0, 20000)}, - fadcphi0{new TF1("fadcphi0", "pol4", 0, 20000)}, - fadcphi0fine{new TF1("fadcphi0fine", "pol2", 0, 20000)}, - fadcphi1{new TF1("fadcphi1", "pol4", 0, 20000)}, - fadcphi1fine{new TF1("fadcphi1fine", "pol4", 0, 20000)}, - fadcphi2{new TF1("fadcphi2", "pol5", 0, 20000)}, - fadcphi2fine1{new TF1("fadcphi2fine1", "pol4", 0, 20000)}, - fadcphi2fine2{new TF1("fadcphi2fine2", "pol1", 0, 20000)} +ClusterErrorPara::ClusterErrorPara() + : f0{new TF1("f0", "pol1", 0, 10)} + , f1{new TF1("f1", "pol2", 0, 10)} + , f2{new TF1("f2", "pol2", 0, 10)} + , f0fine{new TF1("f0fine", "pol2", 0, 20000)} + , f1fine{new TF1("f1fine", "pol3", 0, 20000)} + , f2fine{new TF1("f2fine", "pol5", 0, 20000)} + , f2fine2{new TF1("f2fine", "pol5", 0, 20000)} + , fz0{new TF1("fz0", "pol2", -2, 2)} + , fz1{new TF1("fz1", "pol4", -2, 2)} + , fz2{new TF1("fz2", "pol2", -2, 2)} + , fz0fine{new TF1("fz0fine", "pol2", 0, 20000)} + , fz1fine{new TF1("fz1fine", "pol3", 0, 20000)} + , fz2fine{new TF1("fz2fine", "pol5", 0, 20000)} + , fmm_55_2{new TF1("fmm_55_2", "pol2", -2, 2)} + , fmm_56_2{new TF1("fmm_56_2", "pol2", -2, 2)} + , fmm_3{new TF1("fmm_3", "pol2", -2, 2)} + , fadcz0{new TF1("fadcz0", "pol5", 0, 20000)} + , fadcz1{new TF1("fadcz1", "pol5", 0, 20000)} + , fadcz2{new TF1("fadcz2", "pol5", 0, 20000)} + , fadcz0fine{new TF1("fadcz0fine", "[0]+([1]/pow(x-[2],2))", 0, 20000)} + , fadcz1fine{new TF1("fadcz1fine", "[0]+([1]/pow(x-[2],2))", 0, 20000)} + , fadcz2fine{new TF1("fadcz2fine", "[0]+([1]/pow(x-[2],2))", 0, 20000)} + , fadcphi0{new TF1("fadcphi0", "pol4", 0, 20000)} + , fadcphi0fine{new TF1("fadcphi0fine", "pol2", 0, 20000)} + , fadcphi1{new TF1("fadcphi1", "pol4", 0, 20000)} + , fadcphi1fine{new TF1("fadcphi1fine", "pol4", 0, 20000)} + , fadcphi2{new TF1("fadcphi2", "pol5", 0, 20000)} + , fadcphi2fine1{new TF1("fadcphi2fine1", "pol4", 0, 20000)} + , fadcphi2fine2{new TF1("fadcphi2fine2", "pol1", 0, 20000)} { /* @@ -60,7 +60,7 @@ ClusterErrorPara::ClusterErrorPara(): ftpcR1->SetParameter(1, -0.252); ftpcR1->SetParameter(2, 0.007); */ - + // f0 = new TF1("f0", "pol1", 0, 10); f0->SetParameter(0, 0.0163943); f0->SetParameter(1, 0.0192931); @@ -515,8 +515,8 @@ ClusterErrorPara::ClusterErrorPara(): //_________________________________________________________________________________ ClusterErrorPara::error_t ClusterErrorPara::get_clusterv5_modified_error(TrkrCluster* cluster, double /*unused*/, TrkrDefs::cluskey key) { - - static const bool is_data_reco = []() { + static const bool is_data_reco = []() + { recoConsts* rc = recoConsts::instance(); if (rc->FlagExist("CDB_GLOBALTAG")) { @@ -531,13 +531,13 @@ ClusterErrorPara::error_t ClusterErrorPara::get_clusterv5_modified_error(TrkrClu static bool is_data_reco{true}; // default to data static bool is_data_reco_set{false}; // default to data if(!is_data_reco_set){ - recoConsts* rc = recoConsts::instance(); + recoConsts* rc = recoConsts::instance(); if(rc->FlagExist("CDB_GLOBALTAG")) { - if(rc->get_StringFlag("CDB_GLOBALTAG").find("MDC") != std::string::npos) - { - is_data_reco = false; - } + if(rc->get_StringFlag("CDB_GLOBALTAG").find("MDC") != std::string::npos) + { + is_data_reco = false; + } } is_data_reco_set = true; } @@ -547,223 +547,251 @@ ClusterErrorPara::error_t ClusterErrorPara::get_clusterv5_modified_error(TrkrClu double phierror = cluster->getRPhiError(); double zerror = cluster->getZError(); - if(is_data_reco==false){ + if (is_data_reco == false) + { if (TrkrDefs::getTrkrId(key) == TrkrDefs::tpcId) + { + if (layer == 7 || layer == 22 || layer == 23 || layer == 38 || layer == 39) { - if (layer == 7 || layer == 22 || layer == 23 || layer == 38 || layer == 39) - { - phierror *= 4; - zerror *= 4; - } - if (cluster->getEdge() >= 3) - { - phierror *= 4; - } - if (cluster->getOverlap() >= 2) - { - phierror *= 2; - } - if (cluster->getPhiSize() == 1) - { - phierror *= 10; - } - if (cluster->getPhiSize() >= 5) - { - phierror *= 10; - } - - phierror = std::min(phierror, 0.1); - if (phierror < 0.0005) - { - phierror = 0.1; - } + phierror *= 4; + zerror *= 4; } - }else{ - - if (TrkrDefs::getTrkrId(key) == TrkrDefs::tpcId) + if (cluster->getEdge() >= 3) + { + phierror *= 4; + } + if (cluster->getOverlap() >= 2) { - if (layer == 7 || layer == 22 || layer == 23 || layer == 38 || layer == 39 || layer == 54) - { - phierror *= 4; - zerror *= 4; - } - if (cluster->getEdge() >= 3) - { - phierror *= 4; - } - if (cluster->getOverlap() >= 2) - { - phierror *= 2; - } - if(layer>=7&&layer<(7+48)){ - //Set phi error - if (cluster->getPhiSize() == 1) - { - phierror *= 1.0; - } - if (cluster->getPhiSize() == 2) - { - phierror*=3.15; - } - if (cluster->getPhiSize() == 3) - { - phierror *=3.5; - } - if (cluster->getPhiSize() >3) - { - phierror *= 4; - } - //Set Z Error - if (cluster->getZSize() == 1){ - zerror*=1.0; - } - if (cluster->getZSize() == 2){ - if(layer>=7&&layer<(7+16)){ - zerror*=7; - } - if(layer>=(7+16)&&layer<(7+32)){ - zerror*=4.5; - } - if(layer>=(7+32)&&layer<(7+48)){ - zerror*=4.5; - } - - } - if ((cluster->getZSize() == 3) || (cluster->getZSize() == 4)){ - if(layer>=7&&layer<(7+16)){ - zerror*=7; - } - if(layer>=(7+16)&&layer<(7+32)){ - zerror*=5; - } - if(layer>=(7+32)&&layer<(7+48)){ - zerror*=5; - } - // zerror*=6; - } - if (cluster->getZSize() >=5){ - if(layer>=7&&layer<(7+16)){ - zerror*=20; - } - if(layer>=(7+16)&&layer<(7+32)){ - zerror*=6; - } - if(layer>=(7+32)&&layer<(7+48)){ - zerror*=7; - } - } - /* - static TF1 ftpcR1("ftpcR1", "pol2", 0, 60); - ftpcR1.SetParameter(0, 3.206); - ftpcR1.SetParameter(1, -0.252); - ftpcR1.SetParameter(2, 0.007); - - static TF1 ftpcR2("ftpcR2", "pol2", 0, 60); - ftpcR2.SetParameter(0, 4.48); - ftpcR2.SetParameter(1, -0.226); - ftpcR2.SetParameter(2, 0.00362); - - static TF1 ftpcR3("ftpcR3", "pol2", 0, 60); - ftpcR3.SetParameter(0, 14.8112); - ftpcR3.SetParameter(1, -0.577); - ftpcR3.SetParameter(2, 0.00605); - - if(layer>=7&&layer<(7+16)){ - phierror*= ftpcR1.Eval(layer); - } - if(layer>=(7+16)&&layer<(7+32)){ - phierror*= ftpcR2.Eval(layer); - } - if(layer>=(7+32)&&layer<(7+48)){ - phierror*= ftpcR3.Eval(layer); - } - ftpcR2.SetParameter(0, 5.593); - ftpcR2.SetParameter(1, -0.2458); - ftpcR2.SetParameter(2, 0.00333455); - - ftpcR3.SetParameter(0, 5.6964); - ftpcR3.SetParameter(1, -0.21338); - ftpcR3.SetParameter(2, 0.002502); - - if(layer>=(7+16)&&layer<(7+32)){ - zerror*= ftpcR2.Eval(layer); - } - if(layer>=(7+32)&&layer<(7+48)){ - zerror*= ftpcR3.Eval(layer); - } - */ - - // Inline pol2 evaluation: p0 + p1*x + p2*x^2 - auto pol2 = [](double x, double p0, double p1, double p2) { - return p0 + p1 * x + p2 * x * x; - }; - - if(layer>=7&&layer<(7+16)){ - phierror *= pol2(layer, 3.206, -0.252, 0.007); - } - if(layer>=(7+16)&&layer<(7+32)){ - phierror *= pol2(layer, 4.48, -0.226, 0.00362); - } - if(layer>=(7+32)&&layer<(7+48)){ - phierror *= pol2(layer, 14.8112, -0.577, 0.00605); - } - - if(layer>=(7+16)&&layer<(7+32)){ - zerror *= pol2(layer, 5.593, -0.2458, 0.00333455); - } - if(layer>=(7+32)&&layer<(7+48)){ - zerror *= pol2(layer, 5.6964, -0.21338, 0.002502); - } - } - if (cluster->getPhiSize() >= 5) - { - phierror *= 10; - } + phierror *= 2; + } + if (cluster->getPhiSize() == 1) + { + phierror *= 10; + } + if (cluster->getPhiSize() >= 5) + { + phierror *= 10; } - - if (TrkrDefs::getTrkrId(key) == TrkrDefs::mvtxId){ - phierror*=2; - zerror*=2; + phierror = std::min(phierror, 0.1); + if (phierror < 0.0005) + { + phierror = 0.1; + } } - - if (TrkrDefs::getTrkrId(key) == TrkrDefs::inttId){ - phierror*=9; - if (cluster->getPhiSize() == 1){ - phierror *= 1.25; + } + else + { + if (TrkrDefs::getTrkrId(key) == TrkrDefs::tpcId) + { + if (layer == 7 || layer == 22 || layer == 23 || layer == 38 || layer == 39 || layer == 54) + { + phierror *= 4; + zerror *= 4; } - if (cluster->getPhiSize() == 2){ - phierror *= 2.25; + if (cluster->getEdge() >= 3) + { + phierror *= 4; } - if((layer==3)||(layer==4)){ - phierror*=0.8; + if (cluster->getOverlap() >= 2) + { + phierror *= 2; } - if((layer==5)||(layer==6)){ - phierror*=1.2; + if (layer >= 7 && layer < (7 + 48)) + { + // Set phi error + if (cluster->getPhiSize() == 1) + { + phierror *= 1.0; + } + if (cluster->getPhiSize() == 2) + { + phierror *= 3.15; + } + if (cluster->getPhiSize() == 3) + { + phierror *= 3.5; + } + if (cluster->getPhiSize() > 3) + { + phierror *= 4; + } + // Set Z Error + if (cluster->getZSize() == 1) + { + zerror *= 1.0; + } + if (cluster->getZSize() == 2) + { + if (layer >= 7 && layer < (7 + 16)) + { + zerror *= 7; + } + if (layer >= (7 + 16) && layer < (7 + 32)) + { + zerror *= 4.5; + } + if (layer >= (7 + 32) && layer < (7 + 48)) + { + zerror *= 4.5; + } + } + if ((cluster->getZSize() == 3) || (cluster->getZSize() == 4)) + { + if (layer >= 7 && layer < (7 + 16)) + { + zerror *= 7; + } + if (layer >= (7 + 16) && layer < (7 + 32)) + { + zerror *= 5; + } + if (layer >= (7 + 32) && layer < (7 + 48)) + { + zerror *= 5; + } + // zerror*=6; + } + if (cluster->getZSize() >= 5) + { + if (layer >= 7 && layer < (7 + 16)) + { + zerror *= 20; + } + if (layer >= (7 + 16) && layer < (7 + 32)) + { + zerror *= 6; + } + if (layer >= (7 + 32) && layer < (7 + 48)) + { + zerror *= 7; + } + } + /* + static TF1 ftpcR1("ftpcR1", "pol2", 0, 60); + ftpcR1.SetParameter(0, 3.206); + ftpcR1.SetParameter(1, -0.252); + ftpcR1.SetParameter(2, 0.007); + + static TF1 ftpcR2("ftpcR2", "pol2", 0, 60); + ftpcR2.SetParameter(0, 4.48); + ftpcR2.SetParameter(1, -0.226); + ftpcR2.SetParameter(2, 0.00362); + + static TF1 ftpcR3("ftpcR3", "pol2", 0, 60); + ftpcR3.SetParameter(0, 14.8112); + ftpcR3.SetParameter(1, -0.577); + ftpcR3.SetParameter(2, 0.00605); + + if(layer>=7&&layer<(7+16)){ + phierror*= ftpcR1.Eval(layer); + } + if(layer>=(7+16)&&layer<(7+32)){ + phierror*= ftpcR2.Eval(layer); + } + if(layer>=(7+32)&&layer<(7+48)){ + phierror*= ftpcR3.Eval(layer); + } + ftpcR2.SetParameter(0, 5.593); + ftpcR2.SetParameter(1, -0.2458); + ftpcR2.SetParameter(2, 0.00333455); + + ftpcR3.SetParameter(0, 5.6964); + ftpcR3.SetParameter(1, -0.21338); + ftpcR3.SetParameter(2, 0.002502); + + if(layer>=(7+16)&&layer<(7+32)){ + zerror*= ftpcR2.Eval(layer); + } + if(layer>=(7+32)&&layer<(7+48)){ + zerror*= ftpcR3.Eval(layer); + } + */ + + // Inline pol2 evaluation: p0 + p1*x + p2*x^2 + auto pol2 = [](double x, double p0, double p1, double p2) + { + return p0 + p1 * x + p2 * x * x; + }; + + if (layer >= 7 && layer < (7 + 16)) + { + phierror *= pol2(layer, 3.206, -0.252, 0.007); + } + if (layer >= (7 + 16) && layer < (7 + 32)) + { + phierror *= pol2(layer, 4.48, -0.226, 0.00362); + } + if (layer >= (7 + 32) && layer < (7 + 48)) + { + phierror *= pol2(layer, 14.8112, -0.577, 0.00605); + } + + if (layer >= (7 + 16) && layer < (7 + 32)) + { + zerror *= pol2(layer, 5.593, -0.2458, 0.00333455); + } + if (layer >= (7 + 32) && layer < (7 + 48)) + { + zerror *= pol2(layer, 5.6964, -0.21338, 0.002502); + } } + if (cluster->getPhiSize() >= 5) + { + phierror *= 10; + } + } + + if (TrkrDefs::getTrkrId(key) == TrkrDefs::mvtxId) + { + phierror *= 2; + zerror *= 2; } - - if (TrkrDefs::getTrkrId(key) == TrkrDefs::micromegasId){ - if(layer==55){ - /* - phierror*=5.4; - phierror*=4.6; - phierror*=3.0; - zerror*=0.82; - */ - phierror = 0.0289; + + if (TrkrDefs::getTrkrId(key) == TrkrDefs::inttId) + { + phierror *= 9; + if (cluster->getPhiSize() == 1) + { + phierror *= 1.25; } - - if(layer==56){ - /* - phierror*=0.9; - phierror*=0.95; - zerror*=4.5; - zerror*=3.4; - */ - zerror = 0.577; + if (cluster->getPhiSize() == 2) + { + phierror *= 2.25; + } + if ((layer == 3) || (layer == 4)) + { + phierror *= 0.8; + } + if ((layer == 5) || (layer == 6)) + { + phierror *= 1.2; + } + } + + if (TrkrDefs::getTrkrId(key) == TrkrDefs::micromegasId) + { + if (layer == 55) + { + /* + phierror*=5.4; + phierror*=4.6; + phierror*=3.0; + zerror*=0.82; + */ + phierror = 0.0289; } + if (layer == 56) + { + /* + phierror*=0.9; + phierror*=0.95; + zerror*=4.5; + zerror*=3.4; + */ + zerror = 0.577; + } } } diff --git a/offline/packages/trackbase/ClusterErrorPara.h b/offline/packages/trackbase/ClusterErrorPara.h index 39001d352c..1626db5c17 100644 --- a/offline/packages/trackbase/ClusterErrorPara.h +++ b/offline/packages/trackbase/ClusterErrorPara.h @@ -17,7 +17,7 @@ class ClusterErrorPara virtual ~ClusterErrorPara() { - //delete ftpcR1; + // delete ftpcR1; delete f0; delete f1; delete f2; @@ -73,35 +73,35 @@ class ClusterErrorPara private: // TF1 *ftpcR1 {nullptr}; - TF1 *f0 {nullptr}; - TF1 *f1 {nullptr}; - TF1 *f2 {nullptr}; - TF1 *f0fine {nullptr}; - TF1 *f1fine {nullptr}; - TF1 *f2fine {nullptr}; - TF1 *f2fine2 {nullptr}; - TF1 *fz0 {nullptr}; - TF1 *fz1 {nullptr}; - TF1 *fz2 {nullptr}; - TF1 *fz0fine {nullptr}; - TF1 *fz1fine {nullptr}; - TF1 *fz2fine {nullptr}; - TF1 *fmm_55_2 {nullptr}; - TF1 *fmm_56_2 {nullptr}; - TF1 *fmm_3 {nullptr}; - TF1 *fadcz0 {nullptr}; - TF1 *fadcz1 {nullptr}; - TF1 *fadcz2 {nullptr}; - TF1 *fadcz0fine {nullptr}; - TF1 *fadcz1fine {nullptr}; - TF1 *fadcz2fine {nullptr}; - TF1 *fadcphi0 {nullptr}; - TF1 *fadcphi0fine {nullptr}; - TF1 *fadcphi1 {nullptr}; - TF1 *fadcphi1fine {nullptr}; - TF1 *fadcphi2 {nullptr}; - TF1 *fadcphi2fine1 {nullptr}; - TF1 *fadcphi2fine2 {nullptr}; + TF1 *f0{nullptr}; + TF1 *f1{nullptr}; + TF1 *f2{nullptr}; + TF1 *f0fine{nullptr}; + TF1 *f1fine{nullptr}; + TF1 *f2fine{nullptr}; + TF1 *f2fine2{nullptr}; + TF1 *fz0{nullptr}; + TF1 *fz1{nullptr}; + TF1 *fz2{nullptr}; + TF1 *fz0fine{nullptr}; + TF1 *fz1fine{nullptr}; + TF1 *fz2fine{nullptr}; + TF1 *fmm_55_2{nullptr}; + TF1 *fmm_56_2{nullptr}; + TF1 *fmm_3{nullptr}; + TF1 *fadcz0{nullptr}; + TF1 *fadcz1{nullptr}; + TF1 *fadcz2{nullptr}; + TF1 *fadcz0fine{nullptr}; + TF1 *fadcz1fine{nullptr}; + TF1 *fadcz2fine{nullptr}; + TF1 *fadcphi0{nullptr}; + TF1 *fadcphi0fine{nullptr}; + TF1 *fadcphi1{nullptr}; + TF1 *fadcphi1fine{nullptr}; + TF1 *fadcphi2{nullptr}; + TF1 *fadcphi2fine1{nullptr}; + TF1 *fadcphi2fine2{nullptr}; double pitcherr_phi_mvtx; double pitcherr_z_mvtx; @@ -113,12 +113,12 @@ class ClusterErrorPara double pitcherr_phi_mm2; double pitcherr_z_mm2; - double scale_mvtx {1.2}; - double scale_mvtx_z {0.9}; - double scale_intt_3 {0.97}; - double scale_intt_4 {0.964}; - double scale_intt_5 {0.894}; - double scale_intt_6 {0.893}; + double scale_mvtx{1.2}; + double scale_mvtx_z{0.9}; + double scale_intt_3{0.97}; + double scale_intt_4{0.964}; + double scale_intt_5{0.894}; + double scale_intt_6{0.893}; /* double scale_tpc_0 {1.1}; double scale_tpc_1 {1.2}; double scale_tpc_2 {1.3}; @@ -126,11 +126,10 @@ class ClusterErrorPara double scale_tpc_1_z {1.07}; double scale_tpc_2_z {1.04}; */ - double scale_mm_0 {1.1}; - double scale_mm_1 {1.5}; + double scale_mm_0{1.1}; + double scale_mm_1{1.5}; double pull_fine_phi[60]{}; double pull_fine_z[60]{}; - }; #endif diff --git a/offline/packages/trackbase/CommonOptions.cc b/offline/packages/trackbase/CommonOptions.cc index 5f133b93dd..7a62e8a053 100644 --- a/offline/packages/trackbase/CommonOptions.cc +++ b/offline/packages/trackbase/CommonOptions.cc @@ -12,8 +12,8 @@ using namespace boost::program_options; boost::program_options::options_description -ActsExamples::Options::makeDefaultOptions(const std::string& caption) { - +ActsExamples::Options::makeDefaultOptions(const std::string& caption) +{ options_description opt(caption); opt.add_options()("help,h", "Produce help message"); @@ -28,9 +28,9 @@ ActsExamples::Options::makeDefaultOptions(const std::string& caption) { return opt; } - void ActsExamples::Options::addGeometryOptions( - boost::program_options::options_description& opt) { + boost::program_options::options_description& opt) +{ opt.add_options()("geo-surface-loglevel", value()->default_value(3), "The outoput log level for the surface building.")( "geo-layer-loglevel", value()->default_value(3), @@ -42,7 +42,8 @@ void ActsExamples::Options::addGeometryOptions( } void ActsExamples::Options::addMaterialOptions( - boost::program_options::options_description& opt) { + boost::program_options::options_description& opt) +{ opt.add_options()( "mat-input-type", value()->default_value("build"), "The way material is loaded: 'none', 'build', 'proto', 'file'.")( @@ -66,19 +67,21 @@ void ActsExamples::Options::addMaterialOptions( "Add protoMaterial to all surfaces and volume for the mapping."); } - boost::program_options::variables_map ActsExamples::Options::parse( const boost::program_options::options_description& opt, int argc, - char* argv[]) noexcept(false) { + char* argv[]) noexcept(false) +{ variables_map vm; store(command_line_parser(argc, argv).options(opt).run(), vm); notify(vm); if (vm.count("response-file") != 0u && - ! vm["response-file"].template as().empty()) { + !vm["response-file"].template as().empty()) + { // Load the file and tokenize it std::ifstream ifs(vm["response-file"].as().c_str()); - if (!ifs) { + if (!ifs) + { throw(std::system_error(std::error_code(), "Could not open response file.")); } @@ -90,8 +93,10 @@ boost::program_options::variables_map ActsExamples::Options::parse( const std::regex rgx("[ \t\r\n\f]"); std::sregex_token_iterator iter(rString.begin(), rString.end(), rgx, -1); std::sregex_token_iterator end; - for (; iter != end; ++iter) { - if (std::string(*iter).empty()) { + for (; iter != end; ++iter) + { + if (std::string(*iter).empty()) + { continue; } args.push_back(*iter); @@ -101,7 +106,8 @@ boost::program_options::variables_map ActsExamples::Options::parse( } // Automatically handle help - if (vm.count("help") != 0u) { + if (vm.count("help") != 0u) + { std::cout << opt << std::endl; vm.clear(); } diff --git a/offline/packages/trackbase/CommonOptions.h b/offline/packages/trackbase/CommonOptions.h index fb8fa2b18c..86b75480ce 100644 --- a/offline/packages/trackbase/CommonOptions.h +++ b/offline/packages/trackbase/CommonOptions.h @@ -10,45 +10,46 @@ #include -namespace ActsExamples { - -enum class OutputFormat : uint8_t { - DirectoryOnly = 0, - Root = 1, - Csv = 2, - Obj = 4, - Json = 8, - Cbor = 16, - Txt = 32, - All = std::numeric_limits::max() -}; - -namespace Options { - -/// Construct the options description with minimal default options. -/// -/// @param caption Optional help text caption -boost::program_options::options_description makeDefaultOptions( - const std::string& caption = std::string()); - -/// Add common geometry-related options. -void addGeometryOptions(boost::program_options::options_description& opt); - -/// Add common material-related options. -void addMaterialOptions(boost::program_options::options_description& opt); - -/// Parse options and return the resulting variables map. -/// -/// Automatically prints the help text if requested. -/// -/// @returns Empty variables map if help text was shown. -boost::program_options::variables_map parse( - const boost::program_options::options_description& opt, int argc, - char* argv[]); - - - -} // namespace Options +namespace ActsExamples +{ + + enum class OutputFormat : uint8_t + { + DirectoryOnly = 0, + Root = 1, + Csv = 2, + Obj = 4, + Json = 8, + Cbor = 16, + Txt = 32, + All = std::numeric_limits::max() + }; + + namespace Options + { + + /// Construct the options description with minimal default options. + /// + /// @param caption Optional help text caption + boost::program_options::options_description makeDefaultOptions( + const std::string& caption = std::string()); + + /// Add common geometry-related options. + void addGeometryOptions(boost::program_options::options_description& opt); + + /// Add common material-related options. + void addMaterialOptions(boost::program_options::options_description& opt); + + /// Parse options and return the resulting variables map. + /// + /// Automatically prints the help text if requested. + /// + /// @returns Empty variables map if help text was shown. + boost::program_options::variables_map parse( + const boost::program_options::options_description& opt, int argc, + char* argv[]); + + } // namespace Options } // namespace ActsExamples #endif // __COMMONOPTIONS_H__ \ No newline at end of file diff --git a/offline/packages/trackbase/IBaseDetector.h b/offline/packages/trackbase/IBaseDetector.h index 8f1f0f16d5..bcfeb3cbed 100644 --- a/offline/packages/trackbase/IBaseDetector.h +++ b/offline/packages/trackbase/IBaseDetector.h @@ -22,25 +22,28 @@ namespace ActsExamples::Options using Description = ::boost::program_options::options_description; using Variables = ::boost::program_options::variables_map; } // namespace ActsExamples::Options -namespace Acts { -class TrackingGeometry; -class IMaterialDecorator; +namespace Acts +{ + class TrackingGeometry; + class IMaterialDecorator; } // namespace Acts -namespace ActsExamples { -class IContextDecorator; +namespace ActsExamples +{ + class IContextDecorator; } // namespace ActsExamples -namespace ActsExamples { -class IBaseDetector { - public: - using ContextDecorators = - std::vector>; - using TrackingGeometryPtr = std::shared_ptr; - - virtual ~IBaseDetector() = default; - virtual void addOptions( - boost::program_options::options_description& opt) const = 0; +namespace ActsExamples +{ + class IBaseDetector + { + public: + using ContextDecorators = + std::vector>; + using TrackingGeometryPtr = std::shared_ptr; -}; + virtual ~IBaseDetector() = default; + virtual void addOptions( + boost::program_options::options_description& opt) const = 0; + }; } // namespace ActsExamples diff --git a/offline/packages/trackbase/InttDefs.cc b/offline/packages/trackbase/InttDefs.cc index 42b7879a12..67d4fefc50 100644 --- a/offline/packages/trackbase/InttDefs.cc +++ b/offline/packages/trackbase/InttDefs.cc @@ -27,7 +27,7 @@ namespace // bit shift for hitkey static const unsigned int kBitShiftCol __attribute__((unused)) = 16; static const unsigned int kBitShiftRow __attribute__((unused)) = 0; -} +} // namespace uint8_t InttDefs::getLadderZId(TrkrDefs::hitsetkey key) diff --git a/offline/packages/trackbase/LaserCluster.h b/offline/packages/trackbase/LaserCluster.h index a4c42e2081..ecbfdbad87 100644 --- a/offline/packages/trackbase/LaserCluster.h +++ b/offline/packages/trackbase/LaserCluster.h @@ -15,7 +15,7 @@ /** * @brief Base class for laser cluster object * - * Virtual base class for TPC laser cluster object + * Virtual base class for TPC laser cluster object */ class LaserCluster : public PHObject { @@ -30,16 +30,15 @@ class LaserCluster : public PHObject void Reset() override {} int isValid() const override { return 0; } - //! import PHObject CopyFrom, in order to avoid clang warning using PHObject::CopyFrom; - + //! copy content from base class - virtual void CopyFrom( const LaserCluster& ) {} + virtual void CopyFrom(const LaserCluster&) {} //! copy content from base class - virtual void CopyFrom( LaserCluster* ) {} - + virtual void CopyFrom(LaserCluster*) {} + // // cluster position // @@ -66,18 +65,17 @@ class LaserCluster : public PHObject virtual void setAdc(unsigned int) {} virtual unsigned int getAdc() const { return std::numeric_limits::max(); } - - virtual unsigned int getNhits() const {return std::numeric_limits::max();} - virtual void setNhits( unsigned int) {} + virtual unsigned int getNhits() const { return std::numeric_limits::max(); } + virtual void setNhits(unsigned int) {} virtual void setNLayers(unsigned int) {} - virtual unsigned int getNLayers() const { return std::numeric_limits::max();} + virtual unsigned int getNLayers() const { return std::numeric_limits::max(); } virtual void setNIPhi(unsigned int) {} - virtual unsigned int getNIPhi() const { return std::numeric_limits::max();} + virtual unsigned int getNIPhi() const { return std::numeric_limits::max(); } virtual void setNIT(unsigned int) {} - virtual unsigned int getNIT() const { return std::numeric_limits::max();} + virtual unsigned int getNIT() const { return std::numeric_limits::max(); } virtual void setSDLayer(float) {} virtual float getSDLayer() const { return std::numeric_limits::quiet_NaN(); } @@ -97,9 +95,8 @@ class LaserCluster : public PHObject virtual void setSDWeightedIT(float) {} virtual float getSDWeightedIT() const { return std::numeric_limits::quiet_NaN(); } - virtual void addHit() {} - + virtual void setHitLayer(int, float) {} virtual float getHitLayer(int) const { return std::numeric_limits::quiet_NaN(); } @@ -117,14 +114,13 @@ class LaserCluster : public PHObject virtual void setHitZ(int, float) {} virtual float getHitZ(int) const { return std::numeric_limits::quiet_NaN(); } - + virtual void setHitAdc(int, float) {} virtual float getHitAdc(int) const { return std::numeric_limits::quiet_NaN(); } - protected: LaserCluster() = default; ClassDefOverride(LaserCluster, 1) }; -#endif //TRACKBASE_LASERCLUSTER_H +#endif // TRACKBASE_LASERCLUSTER_H diff --git a/offline/packages/trackbase/LaserClusterContainer.h b/offline/packages/trackbase/LaserClusterContainer.h index 80e104902c..626d0dcf1d 100644 --- a/offline/packages/trackbase/LaserClusterContainer.h +++ b/offline/packages/trackbase/LaserClusterContainer.h @@ -12,9 +12,9 @@ #include +#include // for cout, ostream #include -#include // for cout, ostream -#include // for pair +#include // for pair class LaserCluster; @@ -24,7 +24,6 @@ class LaserCluster; class LaserClusterContainer : public PHObject { public: - //!@name convenient shortuts //@{ using Map = std::map; @@ -38,31 +37,29 @@ class LaserClusterContainer : public PHObject void Reset() override {} //! identify object - void identify(std::ostream &/*os*/ = std::cout) const override {} - + void identify(std::ostream & /*os*/ = std::cout) const override {} + //! add a cluster with specific key - virtual void addClusterSpecifyKey(const TrkrDefs::cluskey, LaserCluster*) = 0; + virtual void addClusterSpecifyKey(const TrkrDefs::cluskey, LaserCluster *) = 0; //! remove cluster virtual void removeCluster(TrkrDefs::cluskey) {} - + //! return all clusters virtual ConstRange getClusters() const = 0; //! find cluster matching given key - virtual LaserCluster* findCluster(TrkrDefs::cluskey) const { return nullptr; } + virtual LaserCluster *findCluster(TrkrDefs::cluskey) const { return nullptr; } //! total number of clusters virtual unsigned int size() const { return 0; } - protected: + protected: //! constructor LaserClusterContainer() = default; - private: - + private: ClassDefOverride(LaserClusterContainer, 1) - }; -#endif //TRACKBASE_LASERCLUSTERCONTAINER_H +#endif // TRACKBASE_LASERCLUSTERCONTAINER_H diff --git a/offline/packages/trackbase/LaserClusterContainerLinkDef.h b/offline/packages/trackbase/LaserClusterContainerLinkDef.h index 0bd429eba0..80f6a37737 100644 --- a/offline/packages/trackbase/LaserClusterContainerLinkDef.h +++ b/offline/packages/trackbase/LaserClusterContainerLinkDef.h @@ -1,5 +1,5 @@ #ifdef __CINT__ -#pragma link C++ class LaserClusterContainer+; +#pragma link C++ class LaserClusterContainer + ; #endif /* __CINT__ */ diff --git a/offline/packages/trackbase/LaserClusterContainerv1.cc b/offline/packages/trackbase/LaserClusterContainerv1.cc index ecabd22121..2ff6e4fd8a 100644 --- a/offline/packages/trackbase/LaserClusterContainerv1.cc +++ b/offline/packages/trackbase/LaserClusterContainerv1.cc @@ -11,9 +11,11 @@ void LaserClusterContainerv1::Reset() { - for( auto&& [key, cluster]:m_clusmap ) - { delete cluster; } - + for (auto&& [key, cluster] : m_clusmap) + { + delete cluster; + } + m_clusmap.clear(); } @@ -24,7 +26,7 @@ void LaserClusterContainerv1::identify(std::ostream& os) const os << "Number of clusters: " << size() << std::endl; for (iter = m_clusmap.begin(); iter != m_clusmap.end(); ++iter) { - os << "clus key " << iter->first << std::endl; + os << "clus key " << iter->first << std::endl; (iter->second)->identify(); } os << "------------------------------" << std::endl; @@ -34,7 +36,7 @@ void LaserClusterContainerv1::identify(std::ostream& os) const void LaserClusterContainerv1::addClusterSpecifyKey(const TrkrDefs::cluskey key, LaserCluster* newclus) { auto ret = m_clusmap.insert(std::make_pair(key, newclus)); - if ( !ret.second ) + if (!ret.second) { std::cout << "LaserClusterContainerv1::AddClusterSpecifyKey: duplicate key: " << key << " exiting now" << std::endl; exit(1); @@ -42,22 +44,24 @@ void LaserClusterContainerv1::addClusterSpecifyKey(const TrkrDefs::cluskey key, } void LaserClusterContainerv1::removeCluster(TrkrDefs::cluskey key) -{ +{ auto clus = findCluster(key); delete clus; - m_clusmap.erase(key); + m_clusmap.erase(key); } LaserClusterContainer::ConstRange LaserClusterContainerv1::getClusters() const -{ return std::make_pair(m_clusmap.cbegin(), m_clusmap.cend()); } +{ + return std::make_pair(m_clusmap.cbegin(), m_clusmap.cend()); +} LaserCluster* LaserClusterContainerv1::findCluster(TrkrDefs::cluskey key) const { auto it = m_clusmap.find(key); - return it == m_clusmap.end() ? nullptr:it->second; + return it == m_clusmap.end() ? nullptr : it->second; } unsigned int LaserClusterContainerv1::size() const diff --git a/offline/packages/trackbase/LaserClusterContainerv1.h b/offline/packages/trackbase/LaserClusterContainerv1.h index 68fc8f215d..204e3d9ad1 100644 --- a/offline/packages/trackbase/LaserClusterContainerv1.h +++ b/offline/packages/trackbase/LaserClusterContainerv1.h @@ -11,9 +11,9 @@ #include +#include // for cout, ostream #include -#include // for cout, ostream -#include // for pair +#include // for pair class LaserCluster; @@ -32,7 +32,7 @@ class LaserClusterContainerv1 : public LaserClusterContainer typedef std::pair ConstRange; LaserClusterContainerv1() = default; - + void Reset() override; void identify(std::ostream &os = std::cout) const override; @@ -40,16 +40,16 @@ class LaserClusterContainerv1 : public LaserClusterContainer void addClusterSpecifyKey(const TrkrDefs::cluskey, LaserCluster *newClus) override; void removeCluster(TrkrDefs::cluskey) override; - + ConstRange getClusters() const override; LaserCluster *findCluster(TrkrDefs::cluskey key) const override; unsigned int size() const override; - private: + private: Map m_clusmap; ClassDefOverride(LaserClusterContainerv1, 1) }; -#endif //TRACKBASE_LASERCLUSTERCONTAINER_H +#endif // TRACKBASE_LASERCLUSTERCONTAINER_H diff --git a/offline/packages/trackbase/LaserClusterContainerv1LinkDef.h b/offline/packages/trackbase/LaserClusterContainerv1LinkDef.h index 64c68c8ded..0ebc0ea46f 100644 --- a/offline/packages/trackbase/LaserClusterContainerv1LinkDef.h +++ b/offline/packages/trackbase/LaserClusterContainerv1LinkDef.h @@ -1,5 +1,5 @@ #ifdef __CINT__ -#pragma link C++ class LaserClusterContainerv1+; +#pragma link C++ class LaserClusterContainerv1 + ; #endif /* __CINT__ */ diff --git a/offline/packages/trackbase/LaserClusterLinkDef.h b/offline/packages/trackbase/LaserClusterLinkDef.h index 4502785e29..f509994087 100644 --- a/offline/packages/trackbase/LaserClusterLinkDef.h +++ b/offline/packages/trackbase/LaserClusterLinkDef.h @@ -1,5 +1,5 @@ #ifdef __CINT__ -#pragma link C++ class LaserCluster+; +#pragma link C++ class LaserCluster + ; #endif diff --git a/offline/packages/trackbase/LaserClusterv1.cc b/offline/packages/trackbase/LaserClusterv1.cc index 1c1cd737f7..3a2e774c8a 100644 --- a/offline/packages/trackbase/LaserClusterv1.cc +++ b/offline/packages/trackbase/LaserClusterv1.cc @@ -7,7 +7,7 @@ #include "LaserClusterv1.h" #include -#include // for swap +#include // for swap void LaserClusterv1::identify(std::ostream& os) const { @@ -27,58 +27,58 @@ void LaserClusterv1::identify(std::ostream& os) const int LaserClusterv1::isValid() const { - if(std::isnan(getX())) - { - return 0; - } - if(std::isnan(getY())) - { - return 0; - } - if(std::isnan(getZ())) - { - return 0; - } + if (std::isnan(getX())) + { + return 0; + } + if (std::isnan(getY())) + { + return 0; + } + if (std::isnan(getZ())) + { + return 0; + } if (m_adc == 0xFFFFFFFF) - { - return 0; - } + { + return 0; + } return 1; } -void LaserClusterv1::CopyFrom( const LaserCluster& source ) +void LaserClusterv1::CopyFrom(const LaserCluster& source) { // do nothing if copying onto oneself - if( this == &source ) - { - return; - } - - // parent class method - LaserCluster::CopyFrom( source ); - - setX( source.getX() ); - setY( source.getY() ); - setZ( source.getZ() ); - setAdc( source.getAdc() ); - setLayer( source.getLayer() ); - setIPhi( source.getIPhi() ); - setIT( source.getIT() ); - setNhits( source.getNhits() ); - setNLayers( source.getNLayers() ); - setNIPhi( source.getNIPhi() ); - setNIT( source.getNIT() ); - setSDLayer( source.getSDLayer() ); - setSDIPhi( source.getSDIPhi() ); - setSDIT( source.getSDIT() ); - setSDWeightedLayer( source.getSDWeightedLayer() ); - setSDWeightedIPhi( source.getSDWeightedIPhi() ); - setSDWeightedIT( source.getSDWeightedIT() ); - + if (this == &source) + { + return; + } - for(int i=0; i<(int)source.getNhits(); i++){ + // parent class method + LaserCluster::CopyFrom(source); + + setX(source.getX()); + setY(source.getY()); + setZ(source.getZ()); + setAdc(source.getAdc()); + setLayer(source.getLayer()); + setIPhi(source.getIPhi()); + setIT(source.getIT()); + setNhits(source.getNhits()); + setNLayers(source.getNLayers()); + setNIPhi(source.getNIPhi()); + setNIT(source.getNIT()); + setSDLayer(source.getSDLayer()); + setSDIPhi(source.getSDIPhi()); + setSDIT(source.getSDIT()); + setSDWeightedLayer(source.getSDWeightedLayer()); + setSDWeightedIPhi(source.getSDWeightedIPhi()); + setSDWeightedIT(source.getSDWeightedIT()); + + for (int i = 0; i < (int) source.getNhits(); i++) + { addHit(); setHitLayer(i, source.getHitLayer(i)); setHitIPhi(i, source.getHitIPhi(i)); @@ -89,7 +89,4 @@ void LaserClusterv1::CopyFrom( const LaserCluster& source ) setHitZ(i, source.getHitZ(i)); setHitAdc(i, source.getHitAdc(i)); } - - } - diff --git a/offline/packages/trackbase/LaserClusterv1.h b/offline/packages/trackbase/LaserClusterv1.h index fa0227b31a..5cfcf84a41 100644 --- a/offline/packages/trackbase/LaserClusterv1.h +++ b/offline/packages/trackbase/LaserClusterv1.h @@ -33,13 +33,15 @@ class LaserClusterv1 : public LaserCluster void Reset() override {} int isValid() const override; PHObject* CloneMe() const override { return new LaserClusterv1(*this); } - + //! copy content from base class - void CopyFrom( const LaserCluster& ) override; + void CopyFrom(const LaserCluster&) override; //! copy content from base class - void CopyFrom( LaserCluster* source ) override - { CopyFrom( *source ); } + void CopyFrom(LaserCluster* source) override + { + CopyFrom(*source); + } // // cluster position @@ -58,7 +60,7 @@ class LaserClusterv1 : public LaserCluster float getIT() const override { return m_posHardware[2]; } void setIT(float it) override { m_posHardware[2] = it; } - unsigned int getNhits() const override {return m_hitVec.size();} + unsigned int getNhits() const override { return m_hitVec.size(); } // // cluster info @@ -93,32 +95,34 @@ class LaserClusterv1 : public LaserCluster void setSDWeightedIT(float SDIT) override { m_SDWeightedIT = SDIT; } float getSDWeightedIT() const override { return m_SDWeightedIT; } - void addHit() override {m_hitVec.push_back({0.0,0.0,0.0,0.0}); m_hitVecHardware.push_back({0.0,0.0,0.0}); } + void addHit() override + { + m_hitVec.push_back({0.0, 0.0, 0.0, 0.0}); + m_hitVecHardware.push_back({0.0, 0.0, 0.0}); + } - void setHitLayer(int i, float layer) override {m_hitVecHardware[i][0] = layer; } + void setHitLayer(int i, float layer) override { m_hitVecHardware[i][0] = layer; } float getHitLayer(int i) const override { return m_hitVecHardware[i][0]; } - void setHitIPhi(int i, float iphi) override {m_hitVecHardware[i][1] = iphi; } + void setHitIPhi(int i, float iphi) override { m_hitVecHardware[i][1] = iphi; } float getHitIPhi(int i) const override { return m_hitVecHardware[i][1]; } - void setHitIT(int i, float it) override {m_hitVecHardware[i][2] = it; } + void setHitIT(int i, float it) override { m_hitVecHardware[i][2] = it; } float getHitIT(int i) const override { return m_hitVecHardware[i][2]; } - void setHitX(int i, float x) override {m_hitVec[i][0] = x; } + void setHitX(int i, float x) override { m_hitVec[i][0] = x; } float getHitX(int i) const override { return m_hitVec[i][0]; } - void setHitY(int i, float y) override {m_hitVec[i][1] = y; } + void setHitY(int i, float y) override { m_hitVec[i][1] = y; } float getHitY(int i) const override { return m_hitVec[i][1]; } - void setHitZ(int i, float z) override {m_hitVec[i][2] = z; } + void setHitZ(int i, float z) override { m_hitVec[i][2] = z; } float getHitZ(int i) const override { return m_hitVec[i][2]; } - void setHitAdc(int i, float adc) override {m_hitVec[i][3] = adc; } + void setHitAdc(int i, float adc) override { m_hitVec[i][3] = adc; } float getHitAdc(int i) const override { return m_hitVec[i][3]; } - protected: - /// mean cluster position float m_pos[3] = {std::numeric_limits::quiet_NaN(), std::numeric_limits::quiet_NaN(), std::numeric_limits::quiet_NaN()}; float m_posHardware[3] = {std::numeric_limits::quiet_NaN(), std::numeric_limits::quiet_NaN(), std::numeric_limits::quiet_NaN()}; @@ -128,7 +132,7 @@ class LaserClusterv1 : public LaserCluster /// cluster sum adc unsigned int m_adc = std::numeric_limits::max(); - + /// number of TPC clusters used to create this central mebrane cluster unsigned int m_nhits = std::numeric_limits::max(); unsigned int m_nLayers = std::numeric_limits::max(); @@ -144,4 +148,4 @@ class LaserClusterv1 : public LaserCluster ClassDefOverride(LaserClusterv1, 1) }; -#endif //TRACKBASE_CMFLASHCLUSTERV1_H +#endif // TRACKBASE_CMFLASHCLUSTERV1_H diff --git a/offline/packages/trackbase/LaserClusterv1LinkDef.h b/offline/packages/trackbase/LaserClusterv1LinkDef.h index 297763d950..6c92b20679 100644 --- a/offline/packages/trackbase/LaserClusterv1LinkDef.h +++ b/offline/packages/trackbase/LaserClusterv1LinkDef.h @@ -1,5 +1,5 @@ #ifdef __CINT__ -#pragma link C++ class LaserClusterv1+; +#pragma link C++ class LaserClusterv1 + ; #endif diff --git a/offline/packages/trackbase/LaserClusterv2.cc b/offline/packages/trackbase/LaserClusterv2.cc index b3dadf7540..c367ccedde 100644 --- a/offline/packages/trackbase/LaserClusterv2.cc +++ b/offline/packages/trackbase/LaserClusterv2.cc @@ -7,7 +7,7 @@ #include "LaserClusterv2.h" #include -#include // for swap +#include // for swap void LaserClusterv2::identify(std::ostream& os) const { @@ -28,59 +28,59 @@ void LaserClusterv2::identify(std::ostream& os) const int LaserClusterv2::isValid() const { - if(std::isnan(getX())) - { - return 0; - } - if(std::isnan(getY())) - { - return 0; - } - if(std::isnan(getZ())) - { - return 0; - } + if (std::isnan(getX())) + { + return 0; + } + if (std::isnan(getY())) + { + return 0; + } + if (std::isnan(getZ())) + { + return 0; + } if (m_adc == 0xFFFFFFFF) - { - return 0; - } + { + return 0; + } return 1; } -void LaserClusterv2::CopyFrom( const LaserCluster& source ) +void LaserClusterv2::CopyFrom(const LaserCluster& source) { // do nothing if copying onto oneself - if( this == &source ) - { - return; - } - - // parent class method - LaserCluster::CopyFrom( source ); - - setX( source.getX() ); - setY( source.getY() ); - setZ( source.getZ() ); - setFitMode( source.getFitMode() ); - setAdc( source.getAdc() ); - setLayer( source.getLayer() ); - setIPhi( source.getIPhi() ); - setIT( source.getIT() ); - setNhits( source.getNhits() ); - setNLayers( source.getNLayers() ); - setNIPhi( source.getNIPhi() ); - setNIT( source.getNIT() ); - setSDLayer( source.getSDLayer() ); - setSDIPhi( source.getSDIPhi() ); - setSDIT( source.getSDIT() ); - setSDWeightedLayer( source.getSDWeightedLayer() ); - setSDWeightedIPhi( source.getSDWeightedIPhi() ); - setSDWeightedIT( source.getSDWeightedIT() ); - + if (this == &source) + { + return; + } - for(int i=0; i<(int)source.getNhits(); i++){ + // parent class method + LaserCluster::CopyFrom(source); + + setX(source.getX()); + setY(source.getY()); + setZ(source.getZ()); + setFitMode(source.getFitMode()); + setAdc(source.getAdc()); + setLayer(source.getLayer()); + setIPhi(source.getIPhi()); + setIT(source.getIT()); + setNhits(source.getNhits()); + setNLayers(source.getNLayers()); + setNIPhi(source.getNIPhi()); + setNIT(source.getNIT()); + setSDLayer(source.getSDLayer()); + setSDIPhi(source.getSDIPhi()); + setSDIT(source.getSDIT()); + setSDWeightedLayer(source.getSDWeightedLayer()); + setSDWeightedIPhi(source.getSDWeightedIPhi()); + setSDWeightedIT(source.getSDWeightedIT()); + + for (int i = 0; i < (int) source.getNhits(); i++) + { addHit(); setHitLayer(i, source.getHitLayer(i)); setHitIPhi(i, source.getHitIPhi(i)); @@ -91,7 +91,4 @@ void LaserClusterv2::CopyFrom( const LaserCluster& source ) setHitZ(i, source.getHitZ(i)); setHitAdc(i, source.getHitAdc(i)); } - - } - diff --git a/offline/packages/trackbase/LaserClusterv2.h b/offline/packages/trackbase/LaserClusterv2.h index c416d9769a..3d53717828 100644 --- a/offline/packages/trackbase/LaserClusterv2.h +++ b/offline/packages/trackbase/LaserClusterv2.h @@ -33,13 +33,15 @@ class LaserClusterv2 : public LaserCluster void Reset() override {} int isValid() const override; PHObject* CloneMe() const override { return new LaserClusterv2(*this); } - + //! copy content from base class - void CopyFrom( const LaserCluster& ) override; + void CopyFrom(const LaserCluster&) override; //! copy content from base class - void CopyFrom( LaserCluster* source ) override - { CopyFrom( *source ); } + void CopyFrom(LaserCluster* source) override + { + CopyFrom(*source); + } // // cluster position @@ -61,7 +63,7 @@ class LaserClusterv2 : public LaserCluster float getIT() const override { return m_posHardware[2]; } void setIT(float it) override { m_posHardware[2] = it; } - unsigned int getNhits() const override {return m_hitVec.size();} + unsigned int getNhits() const override { return m_hitVec.size(); } // // cluster info @@ -96,32 +98,34 @@ class LaserClusterv2 : public LaserCluster void setSDWeightedIT(float SDIT) override { m_SDWeightedIT = SDIT; } float getSDWeightedIT() const override { return m_SDWeightedIT; } - void addHit() override {m_hitVec.push_back({0.0,0.0,0.0,0.0}); m_hitVecHardware.push_back({0.0,0.0,0.0}); } + void addHit() override + { + m_hitVec.push_back({0.0, 0.0, 0.0, 0.0}); + m_hitVecHardware.push_back({0.0, 0.0, 0.0}); + } - void setHitLayer(int i, float layer) override {m_hitVecHardware[i][0] = layer; } + void setHitLayer(int i, float layer) override { m_hitVecHardware[i][0] = layer; } float getHitLayer(int i) const override { return m_hitVecHardware[i][0]; } - void setHitIPhi(int i, float iphi) override {m_hitVecHardware[i][1] = iphi; } + void setHitIPhi(int i, float iphi) override { m_hitVecHardware[i][1] = iphi; } float getHitIPhi(int i) const override { return m_hitVecHardware[i][1]; } - void setHitIT(int i, float it) override {m_hitVecHardware[i][2] = it; } + void setHitIT(int i, float it) override { m_hitVecHardware[i][2] = it; } float getHitIT(int i) const override { return m_hitVecHardware[i][2]; } - void setHitX(int i, float x) override {m_hitVec[i][0] = x; } + void setHitX(int i, float x) override { m_hitVec[i][0] = x; } float getHitX(int i) const override { return m_hitVec[i][0]; } - void setHitY(int i, float y) override {m_hitVec[i][1] = y; } + void setHitY(int i, float y) override { m_hitVec[i][1] = y; } float getHitY(int i) const override { return m_hitVec[i][1]; } - void setHitZ(int i, float z) override {m_hitVec[i][2] = z; } + void setHitZ(int i, float z) override { m_hitVec[i][2] = z; } float getHitZ(int i) const override { return m_hitVec[i][2]; } - void setHitAdc(int i, float adc) override {m_hitVec[i][3] = adc; } + void setHitAdc(int i, float adc) override { m_hitVec[i][3] = adc; } float getHitAdc(int i) const override { return m_hitVec[i][3]; } - protected: - /// mean cluster position float m_pos[3] = {std::numeric_limits::quiet_NaN(), std::numeric_limits::quiet_NaN(), std::numeric_limits::quiet_NaN()}; float m_posHardware[3] = {std::numeric_limits::quiet_NaN(), std::numeric_limits::quiet_NaN(), std::numeric_limits::quiet_NaN()}; @@ -133,7 +137,7 @@ class LaserClusterv2 : public LaserCluster /// cluster sum adc unsigned int m_adc = std::numeric_limits::max(); - + /// number of TPC clusters used to create this central mebrane cluster unsigned int m_nhits = std::numeric_limits::max(); unsigned int m_nLayers = std::numeric_limits::max(); @@ -149,4 +153,4 @@ class LaserClusterv2 : public LaserCluster ClassDefOverride(LaserClusterv2, 1) }; -#endif //TRACKBASE_LASERCLUSTERV2_H +#endif // TRACKBASE_LASERCLUSTERV2_H diff --git a/offline/packages/trackbase/LaserClusterv2LinkDef.h b/offline/packages/trackbase/LaserClusterv2LinkDef.h index 0f1a34d1eb..55ada99f45 100644 --- a/offline/packages/trackbase/LaserClusterv2LinkDef.h +++ b/offline/packages/trackbase/LaserClusterv2LinkDef.h @@ -1,5 +1,5 @@ #ifdef __CINT__ -#pragma link C++ class LaserClusterv2+; +#pragma link C++ class LaserClusterv2 + ; #endif diff --git a/offline/packages/trackbase/MagneticFieldOptions.cc b/offline/packages/trackbase/MagneticFieldOptions.cc index 52ee028196..6ae36fa08c 100644 --- a/offline/packages/trackbase/MagneticFieldOptions.cc +++ b/offline/packages/trackbase/MagneticFieldOptions.cc @@ -6,11 +6,11 @@ #include #include #include -#include #include -#include +#include #include #include +#include #include #include @@ -19,12 +19,14 @@ #include -void ActsExamples::Options::addMagneticFieldOptions(Description& desc) { +void ActsExamples::Options::addMagneticFieldOptions(Description& desc) +{ using boost::program_options::bool_switch; using boost::program_options::value; // avoid adding the options twice - if (desc.find_nothrow("bf-constant-tesla", true) != nullptr) { + if (desc.find_nothrow("bf-constant-tesla", true) != nullptr) + { return; } @@ -83,27 +85,32 @@ void ActsExamples::Options::addMagneticFieldOptions(Description& desc) { "analytical solenoid field."); } - std::shared_ptr -ActsExamples::Options::readMagneticField(const Variables& vars) { +ActsExamples::Options::readMagneticField(const Variables& vars) +{ using namespace ActsExamples::detail; using std::filesystem::path; // first option: create a constant field - if (vars.count("bf-constant-tesla") != 0u) { + if (vars.count("bf-constant-tesla") != 0u) + { const auto values = vars["bf-constant-tesla"].as>(); Acts::Vector3 field(values[0] * Acts::UnitConstants::T, values[1] * Acts::UnitConstants::T, values[2] * Acts::UnitConstants::T); - if (vars["bf-scalable"].as()) { + if (vars["bf-scalable"].as()) + { return std::make_shared(field); - } else { + } + else + { return std::make_shared(field); } } // second option: read a field map from a file - if (vars.count("bf-map-file") != 0u) { + if (vars.count("bf-map-file") != 0u) + { const path file = vars["bf-map-file"].as(); const auto tree = vars["bf-map-tree"].as(); const auto type = vars["bf-map-type"].as(); @@ -114,59 +121,74 @@ ActsExamples::Options::readMagneticField(const Variables& vars) { vars["bf-map-fieldscale-tesla"].as() * Acts::UnitConstants::T; bool readRoot = false; - if (file.extension() == ".root") { + if (file.extension() == ".root") + { readRoot = true; - } else if (file.extension() == ".txt") { + } + else if (file.extension() == ".txt") + { readRoot = false; - } else { + } + else + { throw std::runtime_error("Unsupported magnetic field map file type"); } - if (type == "xyz") { + if (type == "xyz") + { auto mapBins = [](const std::array& bins, - const std::array& sizes) { + const std::array& sizes) + { return (bins[0] * (sizes[1] * sizes[2]) + bins[1] * sizes[2] + bins[2]); }; - if (readRoot) { + if (readRoot) + { auto map = ActsPlugins::makeMagneticFieldMapXyzFromRoot( std::move(mapBins), file.native(), tree, lengthUnit, fieldUnit, useOctantOnly); return std::make_shared(std::move(map)); - - } else { + } + else + { auto map = Acts::makeMagneticFieldMapXyzFromText(std::move(mapBins), - file.native(), lengthUnit, - fieldUnit, useOctantOnly); + file.native(), lengthUnit, + fieldUnit, useOctantOnly); return std::make_shared(std::move(map)); } - - } else if (type == "rz") { + } + else if (type == "rz") + { auto mapBins = [](std::array bins, - std::array sizes) { + std::array sizes) + { return (bins[1] * sizes[0] + bins[0]); }; - if (readRoot) { + if (readRoot) + { auto map = ActsPlugins::makeMagneticFieldMapRzFromRoot( std::move(mapBins), file.native(), tree, lengthUnit, fieldUnit, useOctantOnly); return std::make_shared(std::move(map)); - - } else { + } + else + { auto map = Acts::makeMagneticFieldMapRzFromText(std::move(mapBins), - file.native(), lengthUnit, - fieldUnit, useOctantOnly); + file.native(), lengthUnit, + fieldUnit, useOctantOnly); return std::make_shared(std::move(map)); } - - } else { + } + else + { throw std::runtime_error("Unknown magnetic field map type"); } } // third option: create a solenoid field - if (vars["bf-solenoid-mag-tesla"].as() > 0) { + if (vars["bf-solenoid-mag-tesla"].as() > 0) + { // Construct a solenoid field Acts::SolenoidBField::Config solenoidConfig{}; solenoidConfig.length = @@ -179,7 +201,8 @@ ActsExamples::Options::readMagneticField(const Variables& vars) { const auto solenoidField = Acts::SolenoidBField(solenoidConfig); // The parameters for creating a field map - auto getRange = [&](const char* name, auto unit, auto& lower, auto& upper) { + auto getRange = [&](const char* name, auto unit, auto& lower, auto& upper) + { auto interval = vars[name].as(); lower = interval.lower.value() * unit; upper = interval.upper.value() * unit; diff --git a/offline/packages/trackbase/MagneticFieldOptions.h b/offline/packages/trackbase/MagneticFieldOptions.h index e827e456be..d70f3ce862 100644 --- a/offline/packages/trackbase/MagneticFieldOptions.h +++ b/offline/packages/trackbase/MagneticFieldOptions.h @@ -16,18 +16,20 @@ namespace ActsExamples::Options using Variables = ::boost::program_options::variables_map; } // namespace ActsExamples::Options -namespace ActsExamples { +namespace ActsExamples +{ -namespace Options { + namespace Options + { -/// Add magnetic field options with a `bf-` prefix. -void addMagneticFieldOptions(Description& desc); + /// Add magnetic field options with a `bf-` prefix. + void addMagneticFieldOptions(Description& desc); -/// Read and create the magnetic field from the given user variables. -std::shared_ptr readMagneticField( - const Variables& vars); + /// Read and create the magnetic field from the given user variables. + std::shared_ptr readMagneticField( + const Variables& vars); -} // namespace Options + } // namespace Options } // namespace ActsExamples #endif // _MAGNETICFIELDOPTIONS_H diff --git a/offline/packages/trackbase/Makefile.am b/offline/packages/trackbase/Makefile.am index 63a8307d3a..187bf3c7dd 100644 --- a/offline/packages/trackbase/Makefile.am +++ b/offline/packages/trackbase/Makefile.am @@ -1,343 +1,324 @@ ############################################## -# please add new classes in alphabetical order - -AUTOMAKE_OPTIONS = foreign - - -if USE_ONLINE -# list of shared libraries to produce -lib_LTLIBRARIES = \ - libtrack_io.la - -pkginclude_HEADERS = \ - TrkrDefs.h - -libtrack_io_la_SOURCES = \ - TrkrDefs.cc - -noinst_PROGRAMS = \ - testexternals_track_io - -else - -# list of shared libraries to produce -lib_LTLIBRARIES = \ - libtrack_io.la \ - libtrack.la - -AM_CPPFLAGS = \ - -I$(includedir) \ - -isystem$(OFFLINE_MAIN)/include \ - -isystem$(ROOTSYS)/include - -AM_LDFLAGS = \ - -L$(libdir) \ - -L$(OFFLINE_MAIN)/lib \ - -L$(OFFLINE_MAIN)/lib64 \ - -L$(ROOTSYS)/lib - - -pkginclude_HEADERS = \ - ActsAborter.h \ - ActsGeometry.h \ - ActsSourceLink.h \ - ActsSurfaceMaps.h \ - ActsTrackFittingAlgorithm.h \ - ActsTrackingGeometry.h \ - alignmentTransformationContainer.h \ - AlignmentTransformation.h \ - CommonOptions.h \ - CMFlashCluster.h \ - CMFlashClusterContainer.h \ - CMFlashClusterContainerv1.h \ - CMFlashClusterv1.h \ - CMFlashClusterv2.h \ - CMFlashClusterv3.h \ - CMFlashDifference.h \ - CMFlashDifferenceContainer.h \ - CMFlashDifferenceContainerv1.h \ - CMFlashDifferencev1.h \ - Calibrator.h \ - ClusHitsVerbose.h \ - ClusHitsVerbosev1.h \ - ClusterErrorPara.h \ - IBaseDetector.h \ - InttDefs.h \ - InttEventInfo.h \ - InttEventInfov1.h \ - LaserCluster.h \ - LaserClusterContainer.h \ - LaserClusterContainerv1.h \ - LaserClusterv1.h \ - LaserClusterv2.h \ - MagneticFieldOptions.h \ - MaterialWiper.h \ - MvtxDefs.h \ - MvtxEventInfo.h \ - MvtxEventInfov1.h \ - MvtxEventInfov2.h \ - MvtxEventInfov3.h \ - RawHit.h \ - RawHitSet.h \ - RawHitSetContainer.h \ - RawHitSetContainerv1.h \ - RawHitSetv1.h \ - RawHitTpc.h \ - RawHitv1.h \ - ResidualOutlierFinder.h \ - SpacePoint.h \ - sPHENIXActsDetectorElement.h \ - TGeoDetectorWithOptions.h \ - TpcDefs.h \ - TpcSeedTrackMap.h \ - TpcSeedTrackMapv1.h \ - TpcTpotEventInfo.h \ - TpcTpotEventInfov1.h \ - TrackVertexCrossingAssoc.h \ - TrackVertexCrossingAssoc_v1.h \ - TrackFitUtils.h \ - TrkrCluster.h \ - TrkrClusterContainer.h \ - TrkrClusterContainerv1.h \ - TrkrClusterContainerv2.h \ - TrkrClusterContainerv3.h \ - TrkrClusterContainerv4.h \ - TrkrClusterCrossingAssoc.h \ - TrkrClusterCrossingAssocv1.h \ - TrkrClusterHitAssoc.h \ - TrkrClusterHitAssocv1.h \ - TrkrClusterHitAssocv2.h \ - TrkrClusterHitAssocv3.h \ - TrkrClusterIterationMap.h \ - TrkrClusterIterationMapv1.h \ - TrkrClusterv1.h \ - TrkrClusterv2.h \ - TrkrClusterv3.h \ - TrkrClusterv4.h \ - TrkrClusterv5.h \ - TrkrClusterv6.h \ - TrkrDefs.h \ - TrkrHit.h \ - TrkrHitSet.h \ - TrkrHitSetContMvtxHelper.h \ - TrkrHitSetContMvtxHelperv1.h \ - TrkrHitSetContainer.h \ - TrkrHitSetContainerv1.h \ - TrkrHitSetContainerv2.h \ - TrkrHitSetv1.h \ - TrkrHitSetTpc.h \ - TrkrHitSetTpcv1.h \ - TrkrHitTruthAssoc.h \ - TrkrHitTruthAssocv1.h \ - TrkrHitv1.h \ - TrkrHitv2.h - -ROOTDICTS = \ - CMFlashClusterContainer_Dict.cc \ - CMFlashClusterContainerv1_Dict.cc \ - CMFlashCluster_Dict.cc \ - CMFlashClusterv1_Dict.cc \ - CMFlashClusterv2_Dict.cc \ - CMFlashClusterv3_Dict.cc \ - CMFlashDifferenceContainer_Dict.cc \ - CMFlashDifferenceContainerv1_Dict.cc \ - CMFlashDifference_Dict.cc \ - CMFlashDifferencev1_Dict.cc \ - ClusHitsVerbose_Dict.cc \ - ClusHitsVerbosev1_Dict.cc \ - InttEventInfo_Dict.cc \ - InttEventInfov1_Dict.cc \ - LaserClusterContainer_Dict.cc \ - LaserClusterContainerv1_Dict.cc \ - LaserCluster_Dict.cc \ - LaserClusterv1_Dict.cc \ - LaserClusterv2_Dict.cc \ - MvtxEventInfo_Dict.cc \ - MvtxEventInfov1_Dict.cc \ - MvtxEventInfov2_Dict.cc \ - MvtxEventInfov3_Dict.cc \ - RawHitSetContainer_Dict.cc \ - RawHitSetContainerv1_Dict.cc \ - RawHitSet_Dict.cc \ - RawHitSetv1_Dict.cc \ - RawHitTpc_Dict.cc \ - RawHit_Dict.cc \ - RawHitv1_Dict.cc \ - TpcSeedTrackMap_Dict.cc \ - TpcSeedTrackMapv1_Dict.cc \ - TpcTpotEventInfo_Dict.cc \ - TpcTpotEventInfov1_Dict.cc \ - TrackVertexCrossingAssoc_Dict.cc \ - TrackVertexCrossingAssoc_v1_Dict.cc \ - TrkrClusterContainer_Dict.cc \ - TrkrClusterContainerv1_Dict.cc \ - TrkrClusterContainerv2_Dict.cc \ - TrkrClusterContainerv3_Dict.cc \ - TrkrClusterContainerv4_Dict.cc \ - TrkrClusterCrossingAssoc_Dict.cc \ - TrkrClusterCrossingAssocv1_Dict.cc \ - TrkrClusterHitAssoc_Dict.cc \ - TrkrClusterHitAssocv1_Dict.cc \ - TrkrClusterHitAssocv2_Dict.cc \ - TrkrClusterHitAssocv3_Dict.cc \ - TrkrClusterIterationMap_Dict.cc \ - TrkrClusterIterationMapv1_Dict.cc \ - TrkrCluster_Dict.cc \ - TrkrClusterv1_Dict.cc \ - TrkrClusterv2_Dict.cc \ - TrkrClusterv3_Dict.cc \ - TrkrClusterv4_Dict.cc \ - TrkrClusterv5_Dict.cc \ - TrkrClusterv6_Dict.cc \ - TrkrHitSetContMvtxHelper_Dict.cc \ - TrkrHitSetContMvtxHelperv1_Dict.cc \ - TrkrHitSetContainer_Dict.cc \ - TrkrHitSetContainerv1_Dict.cc \ - TrkrHitSetContainerv2_Dict.cc \ - TrkrHitSet_Dict.cc \ - TrkrHitSetv1_Dict.cc \ - TrkrHitSetTpc_Dict.cc \ - TrkrHitSetTpcv1_Dict.cc \ - TrkrHitTruthAssoc_Dict.cc \ - TrkrHitTruthAssocv1_Dict.cc \ - TrkrHit_Dict.cc \ - TrkrHitv1_Dict.cc \ - TrkrHitv2_Dict.cc - - -pcmdir = $(libdir) -nobase_dist_pcm_DATA = $(ROOTDICTS:.cc=_rdict.pcm) - -# sources for io library -libtrack_la_SOURCES = \ - ActsGeometry.cc \ - ActsSurfaceMaps.cc \ - AlignmentTransformation.cc \ - alignmentTransformationContainer.cc \ - Calibrator.cc \ - ClusterErrorPara.cc \ - CommonOptions.cc \ - MagneticFieldOptions.cc \ - sPHENIXActsDetectorElement.cc \ - TGeoDetectorWithOptions.cc \ - TrackFittingAlgorithmFunctionsKalman.cc \ - TrackFitUtils.cc - -# sources for io library -libtrack_io_la_SOURCES = \ - $(ROOTDICTS) \ - CMFlashClusterContainerv1.cc \ - CMFlashClusterv1.cc \ - CMFlashClusterv2.cc \ - CMFlashClusterv3.cc \ - CMFlashDifferenceContainerv1.cc \ - CMFlashDifferencev1.cc \ - ClusHitsVerbose.cc \ - ClusHitsVerbosev1.cc \ - InttDefs.cc \ - InttEventInfo.cc \ - InttEventInfov1.cc \ - LaserClusterContainerv1.cc \ - LaserClusterv1.cc \ - LaserClusterv2.cc \ - MvtxDefs.cc \ - MvtxEventInfo.cc \ - MvtxEventInfov1.cc \ - MvtxEventInfov2.cc \ - MvtxEventInfov3.cc \ - RawHitSet.cc \ - RawHitSetContainer.cc \ - RawHitSetContainerv1.cc \ - RawHitSetv1.cc \ - RawHitTpc.cc \ - RawHitv1.cc \ - TpcDefs.cc \ - TpcSeedTrackMap.cc \ - TpcSeedTrackMapv1.cc \ - TpcTpotEventInfov1.cc \ - TrackVertexCrossingAssoc.cc \ - TrackVertexCrossingAssoc_v1.cc \ - TrkrClusterContainer.cc \ - TrkrClusterContainerv1.cc \ - TrkrClusterContainerv2.cc \ - TrkrClusterContainerv3.cc \ - TrkrClusterContainerv4.cc \ - TrkrClusterCrossingAssoc.cc \ - TrkrClusterCrossingAssocv1.cc \ - TrkrClusterHitAssoc.cc \ - TrkrClusterHitAssocv1.cc \ - TrkrClusterHitAssocv2.cc \ - TrkrClusterHitAssocv3.cc \ - TrkrClusterIterationMap.cc \ - TrkrClusterIterationMapv1.cc \ - TrkrClusterv1.cc \ - TrkrClusterv2.cc \ - TrkrClusterv3.cc \ - TrkrClusterv4.cc \ - TrkrClusterv5.cc \ - TrkrClusterv6.cc \ - TrkrDefs.cc \ - TrkrHitSet.cc \ - TrkrHitSetContMvtxHelper.cc \ - TrkrHitSetContMvtxHelperv1.cc \ - TrkrHitSetContainer.cc \ - TrkrHitSetContainerv1.cc \ - TrkrHitSetContainerv2.cc \ - TrkrHitSetv1.cc \ - TrkrHitSetTpc.cc \ - TrkrHitSetTpcv1.cc \ - TrkrHitTruthAssocv1.cc \ - TrkrHitv1.cc \ - TrkrHitv2.cc - -libtrack_la_LIBADD = \ - libtrack_io.la \ - -lActsCore \ - -lActsPluginRoot \ - -lActsExamplesDetectorTGeo \ - -lffamodules \ - -lboost_program_options - -libtrack_io_la_LIBADD = \ - -lphool \ - -lphg4hit - -noinst_PROGRAMS = \ - testexternals_track \ - testexternals_track_io - -testexternals_track_SOURCES = testexternals.cc -testexternals_track_LDADD = libtrack.la - -endif - -# Rule for generating table CINT dictionaries. -%_Dict.cc: %.h %LinkDef.h - rootcint -f $@ @CINTDEFS@ $(DEFAULT_INCLUDES) $(AM_CPPFLAGS) $^ +#please add new classes in alphabetical order + + AUTOMAKE_OPTIONS = foreign + + if USE_ONLINE +#list of shared libraries to produce + lib_LTLIBRARIES = + libtrack_io.la + + pkginclude_HEADERS = + TrkrDefs.h + + libtrack_io_la_SOURCES = + TrkrDefs.cc + + noinst_PROGRAMS = + testexternals_track_io + + else + +#list of shared libraries to produce + lib_LTLIBRARIES = + libtrack_io.la + libtrack.la + + AM_CPPFLAGS = + -I$(includedir) - isystem$(OFFLINE_MAIN) / include - isystem$(ROOTSYS) / include + + AM_LDFLAGS = + -L$(libdir) - L$(OFFLINE_MAIN) / lib - L$(OFFLINE_MAIN) / lib64 - L$(ROOTSYS) / lib + + pkginclude_HEADERS = + ActsAborter.h + ActsGeometry.h + ActsSourceLink.h + ActsSurfaceMaps.h + ActsTrackFittingAlgorithm.h + ActsTrackingGeometry.h + alignmentTransformationContainer.h + AlignmentTransformation.h + CommonOptions.h + CMFlashCluster.h + CMFlashClusterContainer.h + CMFlashClusterContainerv1.h + CMFlashClusterv1.h + CMFlashClusterv2.h + CMFlashClusterv3.h + CMFlashDifference.h + CMFlashDifferenceContainer.h + CMFlashDifferenceContainerv1.h + CMFlashDifferencev1.h + Calibrator.h + ClusHitsVerbose.h + ClusHitsVerbosev1.h + ClusterErrorPara.h + IBaseDetector.h + InttDefs.h + InttEventInfo.h + InttEventInfov1.h + LaserCluster.h + LaserClusterContainer.h + LaserClusterContainerv1.h + LaserClusterv1.h + LaserClusterv2.h + MagneticFieldOptions.h + MaterialWiper.h + MvtxDefs.h + MvtxEventInfo.h + MvtxEventInfov1.h + MvtxEventInfov2.h + MvtxEventInfov3.h + RawHit.h + RawHitSet.h + RawHitSetContainer.h + RawHitSetContainerv1.h + RawHitSetv1.h + RawHitTpc.h + RawHitv1.h + ResidualOutlierFinder.h + SpacePoint.h + sPHENIXActsDetectorElement.h + TGeoDetectorWithOptions.h + TpcDefs.h + TpcSeedTrackMap.h + TpcSeedTrackMapv1.h + TpcTpotEventInfo.h + TpcTpotEventInfov1.h + TrackVertexCrossingAssoc.h + TrackVertexCrossingAssoc_v1.h + TrackFitUtils.h + TrkrCluster.h + TrkrClusterContainer.h + TrkrClusterContainerv1.h + TrkrClusterContainerv2.h + TrkrClusterContainerv3.h + TrkrClusterContainerv4.h + TrkrClusterCrossingAssoc.h + TrkrClusterCrossingAssocv1.h + TrkrClusterHitAssoc.h + TrkrClusterHitAssocv1.h + TrkrClusterHitAssocv2.h + TrkrClusterHitAssocv3.h + TrkrClusterIterationMap.h + TrkrClusterIterationMapv1.h + TrkrClusterv1.h + TrkrClusterv2.h + TrkrClusterv3.h + TrkrClusterv4.h + TrkrClusterv5.h + TrkrClusterv6.h + TrkrDefs.h + TrkrHit.h + TrkrHitSet.h + TrkrHitSetContMvtxHelper.h + TrkrHitSetContMvtxHelperv1.h + TrkrHitSetContainer.h + TrkrHitSetContainerv1.h + TrkrHitSetContainerv2.h + TrkrHitSetv1.h + TrkrHitSetTpc.h + TrkrHitSetTpcv1.h + TrkrHitTruthAssoc.h + TrkrHitTruthAssocv1.h + TrkrHitv1.h + TrkrHitv2.h + + ROOTDICTS = + CMFlashClusterContainer_Dict.cc + CMFlashClusterContainerv1_Dict.cc + CMFlashCluster_Dict.cc + CMFlashClusterv1_Dict.cc + CMFlashClusterv2_Dict.cc + CMFlashClusterv3_Dict.cc + CMFlashDifferenceContainer_Dict.cc + CMFlashDifferenceContainerv1_Dict.cc + CMFlashDifference_Dict.cc + CMFlashDifferencev1_Dict.cc + ClusHitsVerbose_Dict.cc + ClusHitsVerbosev1_Dict.cc + InttEventInfo_Dict.cc + InttEventInfov1_Dict.cc + LaserClusterContainer_Dict.cc + LaserClusterContainerv1_Dict.cc + LaserCluster_Dict.cc + LaserClusterv1_Dict.cc + LaserClusterv2_Dict.cc + MvtxEventInfo_Dict.cc + MvtxEventInfov1_Dict.cc + MvtxEventInfov2_Dict.cc + MvtxEventInfov3_Dict.cc + RawHitSetContainer_Dict.cc + RawHitSetContainerv1_Dict.cc + RawHitSet_Dict.cc + RawHitSetv1_Dict.cc + RawHitTpc_Dict.cc + RawHit_Dict.cc + RawHitv1_Dict.cc + TpcSeedTrackMap_Dict.cc + TpcSeedTrackMapv1_Dict.cc + TpcTpotEventInfo_Dict.cc + TpcTpotEventInfov1_Dict.cc + TrackVertexCrossingAssoc_Dict.cc + TrackVertexCrossingAssoc_v1_Dict.cc + TrkrClusterContainer_Dict.cc + TrkrClusterContainerv1_Dict.cc + TrkrClusterContainerv2_Dict.cc + TrkrClusterContainerv3_Dict.cc + TrkrClusterContainerv4_Dict.cc + TrkrClusterCrossingAssoc_Dict.cc + TrkrClusterCrossingAssocv1_Dict.cc + TrkrClusterHitAssoc_Dict.cc + TrkrClusterHitAssocv1_Dict.cc + TrkrClusterHitAssocv2_Dict.cc + TrkrClusterHitAssocv3_Dict.cc + TrkrClusterIterationMap_Dict.cc + TrkrClusterIterationMapv1_Dict.cc + TrkrCluster_Dict.cc + TrkrClusterv1_Dict.cc + TrkrClusterv2_Dict.cc + TrkrClusterv3_Dict.cc + TrkrClusterv4_Dict.cc + TrkrClusterv5_Dict.cc + TrkrClusterv6_Dict.cc + TrkrHitSetContMvtxHelper_Dict.cc + TrkrHitSetContMvtxHelperv1_Dict.cc + TrkrHitSetContainer_Dict.cc + TrkrHitSetContainerv1_Dict.cc + TrkrHitSetContainerv2_Dict.cc + TrkrHitSet_Dict.cc + TrkrHitSetv1_Dict.cc + TrkrHitSetTpc_Dict.cc + TrkrHitSetTpcv1_Dict.cc + TrkrHitTruthAssoc_Dict.cc + TrkrHitTruthAssocv1_Dict.cc + TrkrHit_Dict.cc + TrkrHitv1_Dict.cc + TrkrHitv2_Dict.cc + + pcmdir = $(libdir) + nobase_dist_pcm_DATA = $(ROOTDICTS :.cc = _rdict.pcm) + +#sources for io library + libtrack_la_SOURCES = + ActsGeometry.cc + ActsSurfaceMaps.cc + AlignmentTransformation.cc + alignmentTransformationContainer.cc + Calibrator.cc + ClusterErrorPara.cc + CommonOptions.cc + MagneticFieldOptions.cc + sPHENIXActsDetectorElement.cc + TGeoDetectorWithOptions.cc + TrackFittingAlgorithmFunctionsKalman.cc + TrackFitUtils.cc + +#sources for io library + libtrack_io_la_SOURCES = + $(ROOTDICTS) + CMFlashClusterContainerv1.cc + CMFlashClusterv1.cc + CMFlashClusterv2.cc + CMFlashClusterv3.cc + CMFlashDifferenceContainerv1.cc + CMFlashDifferencev1.cc + ClusHitsVerbose.cc + ClusHitsVerbosev1.cc + InttDefs.cc + InttEventInfo.cc + InttEventInfov1.cc + LaserClusterContainerv1.cc + LaserClusterv1.cc + LaserClusterv2.cc + MvtxDefs.cc + MvtxEventInfo.cc + MvtxEventInfov1.cc + MvtxEventInfov2.cc + MvtxEventInfov3.cc + RawHitSet.cc + RawHitSetContainer.cc + RawHitSetContainerv1.cc + RawHitSetv1.cc + RawHitTpc.cc + RawHitv1.cc + TpcDefs.cc + TpcSeedTrackMap.cc + TpcSeedTrackMapv1.cc + TpcTpotEventInfov1.cc + TrackVertexCrossingAssoc.cc + TrackVertexCrossingAssoc_v1.cc + TrkrClusterContainer.cc + TrkrClusterContainerv1.cc + TrkrClusterContainerv2.cc + TrkrClusterContainerv3.cc + TrkrClusterContainerv4.cc + TrkrClusterCrossingAssoc.cc + TrkrClusterCrossingAssocv1.cc + TrkrClusterHitAssoc.cc + TrkrClusterHitAssocv1.cc + TrkrClusterHitAssocv2.cc + TrkrClusterHitAssocv3.cc + TrkrClusterIterationMap.cc + TrkrClusterIterationMapv1.cc + TrkrClusterv1.cc + TrkrClusterv2.cc + TrkrClusterv3.cc + TrkrClusterv4.cc + TrkrClusterv5.cc + TrkrClusterv6.cc + TrkrDefs.cc + TrkrHitSet.cc + TrkrHitSetContMvtxHelper.cc + TrkrHitSetContMvtxHelperv1.cc + TrkrHitSetContainer.cc + TrkrHitSetContainerv1.cc + TrkrHitSetContainerv2.cc + TrkrHitSetv1.cc + TrkrHitSetTpc.cc + TrkrHitSetTpcv1.cc + TrkrHitTruthAssocv1.cc + TrkrHitv1.cc + TrkrHitv2.cc + + libtrack_la_LIBADD = + libtrack_io.la - lActsCore - lActsPluginRoot - lActsExamplesDetectorTGeo - lffamodules - lboost_program_options + + libtrack_io_la_LIBADD = + -lphool - lphg4hit + + noinst_PROGRAMS = + testexternals_track + testexternals_track_io + + testexternals_track_SOURCES = testexternals.cc + testexternals_track_LDADD = libtrack.la + + endif + +#Rule for generating table CINT dictionaries. + % _Dict.cc : %.h % LinkDef.h rootcint - + f $ @ @CINTDEFS @$(DEFAULT_INCLUDES) $(AM_CPPFLAGS) $ ^ #just to get the dependency -%_Dict_rdict.pcm: %_Dict.cc ; + % _Dict_rdict.pcm : % _Dict.cc; ################################################ -# linking tests - -BUILT_SOURCES = testexternals.cc +#linking tests + BUILT_SOURCES = testexternals.cc #testexternals_track_util_SOURCES = testexternals.cc #testexternals_track_util_LDADD = libtrack_util.la -testexternals_track_io_SOURCES = testexternals.cc -testexternals_track_io_LDADD = libtrack_io.la + testexternals_track_io_SOURCES = testexternals.cc + testexternals_track_io_LDADD = libtrack_io.la -testexternals.cc: - echo "//*** this is a generated file. Do not commit, do not edit" > $@ - echo "int main()" >> $@ - echo "{" >> $@ - echo " return 0;" >> $@ - echo "}" >> $@ + testexternals.cc : echo "//*** this is a generated file. Do not commit, do not edit" > $ @echo "int main()" >> + $ @echo "{" >> $ @echo " return 0;" >> $ @echo "}" >> $ @ -################################################ + ################################################ -clean-local: - rm -f *Dict* $(BUILT_SOURCES) *.pcm + clean - + local : rm - f *Dict *$(BUILT_SOURCES) *.pcm diff --git a/offline/packages/trackbase/MaterialWiper.h b/offline/packages/trackbase/MaterialWiper.h index c4bf9ee0d7..5a1abea29b 100644 --- a/offline/packages/trackbase/MaterialWiper.h +++ b/offline/packages/trackbase/MaterialWiper.h @@ -17,27 +17,31 @@ #include "Acts/Surfaces/Surface.hpp" // @note This file will go into the acts-core -namespace Acts { +namespace Acts +{ -/// @class MaterialWiper -/// -/// This decorator sets the nulls-material -/// -class MaterialWiper : public IMaterialDecorator { - public: - /// Decorate a surface + /// @class MaterialWiper /// - /// @param surface the non-cost surface that is decorated - void decorate(Surface& surface) const final { - surface.assignSurfaceMaterial(nullptr); - } - - /// Decorate a TrackingVolume + /// This decorator sets the nulls-material /// - /// @param volume the non-cost volume that is decorated - void decorate(TrackingVolume& volume) const final { - volume.assignVolumeMaterial(nullptr); - } -}; + class MaterialWiper : public IMaterialDecorator + { + public: + /// Decorate a surface + /// + /// @param surface the non-cost surface that is decorated + void decorate(Surface& surface) const final + { + surface.assignSurfaceMaterial(nullptr); + } + + /// Decorate a TrackingVolume + /// + /// @param volume the non-cost volume that is decorated + void decorate(TrackingVolume& volume) const final + { + volume.assignVolumeMaterial(nullptr); + } + }; } // namespace Acts diff --git a/offline/packages/trackbase/MvtxDefs.cc b/offline/packages/trackbase/MvtxDefs.cc index 8d629e40e3..9ac937c26e 100644 --- a/offline/packages/trackbase/MvtxDefs.cc +++ b/offline/packages/trackbase/MvtxDefs.cc @@ -21,7 +21,7 @@ namespace // bit shift for hitkey static const unsigned int kBitShiftCol __attribute__((unused)) = 16; static const unsigned int kBitShiftRow __attribute__((unused)) = 0; -} +} // namespace uint8_t MvtxDefs::getStaveId(TrkrDefs::hitsetkey key) @@ -149,6 +149,6 @@ MvtxDefs::resetStrobe(const TrkrDefs::hitsetkey hitsetkey) TrkrDefs::cluskey MvtxDefs::resetStrobe(const TrkrDefs::cluskey key) { - TrkrDefs::hitsetkey tmp = TrkrDefs::getHitSetKeyFromClusKey(key); + TrkrDefs::hitsetkey tmp = TrkrDefs::getHitSetKeyFromClusKey(key); return TrkrDefs::genClusKey(resetStrobe(tmp), key); } diff --git a/offline/packages/trackbase/MvtxEventInfov2.h b/offline/packages/trackbase/MvtxEventInfov2.h index a4629c6441..e0bb5aea60 100644 --- a/offline/packages/trackbase/MvtxEventInfov2.h +++ b/offline/packages/trackbase/MvtxEventInfov2.h @@ -51,7 +51,7 @@ class MvtxEventInfov2 : public MvtxEventInfo unsigned int get_number_L1s() const override; // std::set get_strobe_BCOs() const; - std::set get_strobe_BCOs() const override {return m_strobe_BCOs;} + std::set get_strobe_BCOs() const override { return m_strobe_BCOs; } std::set get_L1_BCOs() const override; std::set get_strobe_BCO_from_L1_BCO(const uint64_t ival) const override; diff --git a/offline/packages/trackbase/RawHitSetv1.h b/offline/packages/trackbase/RawHitSetv1.h index 9e04c0cb60..2b8fb17cd1 100644 --- a/offline/packages/trackbase/RawHitSetv1.h +++ b/offline/packages/trackbase/RawHitSetv1.h @@ -44,7 +44,7 @@ class RawHitSetv1 : public RawHitSet void addHit(RawHit*) override; // void addTpcHit(unsigned short phibin, RawHit*) override; void setTpcPhiBins(unsigned short phibins) override; - + // void removeHit(TrkrDefs::hitkey) override; // RawHit* getHit(const TrkrDefs::hitkey) const override; @@ -60,14 +60,14 @@ class RawHitSetv1 : public RawHitSet { return m_tpchits.size(); } - + ConstVecIterator getHits(int phibin) override - { - return m_tpchits.begin()+phibin; - } + { + return m_tpchits.begin() + phibin; + } unsigned int size(int phibin) const override { - return (*(m_tpchits.begin()+phibin)).size(); + return (*(m_tpchits.begin() + phibin)).size(); } private: @@ -76,7 +76,7 @@ class RawHitSetv1 : public RawHitSet /// storage for RawHit objects Vector m_hits; - + VectorTpc2D m_tpchits; ClassDefOverride(RawHitSetv1, 1); }; diff --git a/offline/packages/trackbase/ResidualOutlierFinder.h b/offline/packages/trackbase/ResidualOutlierFinder.h index d0ace7fb12..98e61b4f34 100644 --- a/offline/packages/trackbase/ResidualOutlierFinder.h +++ b/offline/packages/trackbase/ResidualOutlierFinder.h @@ -7,16 +7,16 @@ #include #include -#include #include #include #include #include +#include #include struct ResidualOutlierFinder { - ActsGeometry* m_tGeometry = nullptr; + ActsGeometry *m_tGeometry = nullptr; int verbosity = 0; std::map chi2Cuts; std::string outfilename = "OutlierFinder.root"; @@ -26,7 +26,7 @@ struct ResidualOutlierFinder TNtuple *tree = new TNtuple("ntp_outlierfinder", "tree with predicted states and cluster info", "sphenixlayer:layer:volume:distance:chi2:predgx:predgy:predgz:predlx:predlz:clusgx:clusgy:clusgz:cluslx:cluslz"); - void outfileName(const std::string& name) + void outfileName(const std::string &name) { outfilename = name; } @@ -47,9 +47,9 @@ struct ResidualOutlierFinder { return false; } - + auto sourceLink = state.getUncalibratedSourceLink().template get(); - const auto& cluskey = sourceLink.cluskey(); + const auto &cluskey = sourceLink.cluskey(); double chi2 = Acts::calculatePredictedChi2(state); @@ -75,7 +75,7 @@ struct ResidualOutlierFinder int sphenixlayer = TrkrDefs::getLayer(cluskey); hChi2->Fill(sphenixlayer, chi2); hDistance->Fill(sphenixlayer, distance); - if(!m_tGeometry) + if (!m_tGeometry) { std::cout << PHWHERE << "no geometry set in residual outlier finder" << std::endl; exit(1); @@ -86,14 +86,14 @@ struct ResidualOutlierFinder .data(); Acts::FreeVector freeParams = Acts::transformBoundToFreeParameters(state.referenceSurface(), - m_tGeometry->geometry().getGeoContext(), - predicted); + m_tGeometry->geometry().getGeoContext(), + predicted); Acts::Vector2 local(fullCalibrated[Acts::eBoundLoc0], fullCalibrated[Acts::eBoundLoc1]); Acts::Vector3 global = state.referenceSurface().localToGlobal( m_tGeometry->geometry().getGeoContext(), local, Acts::Vector3(1, 1, 1)); float data[] = { - (float) sphenixlayer, (float) layer, (float) volume, distance, (float)chi2, + (float) sphenixlayer, (float) layer, (float) volume, distance, (float) chi2, (float) freeParams[Acts::eFreePos0], (float) freeParams[Acts::eFreePos1], (float) freeParams[Acts::eFreePos2], (float) predicted[Acts::eBoundLoc0], (float) predicted[Acts::eBoundLoc1], (float) global[Acts::eFreePos0], (float) global[Acts::eFreePos1], (float) global[Acts::eFreePos2], diff --git a/offline/packages/trackbase/SpacePoint.h b/offline/packages/trackbase/SpacePoint.h index afede18a3b..a7d4fadab7 100644 --- a/offline/packages/trackbase/SpacePoint.h +++ b/offline/packages/trackbase/SpacePoint.h @@ -5,9 +5,9 @@ #include #include "trackbase/TrkrDefs.h" -#include -#include #include +#include +#include /** * A struct for Acts to take cluster information for seeding @@ -31,7 +31,7 @@ struct SpacePoint double y() const { return m_y; } double z() const { return m_z; } double r() const { return m_r; } - std::optional t() const { return m_t; } + std::optional t() const { return m_t; } double varianceR() const { return m_varianceR; } double varianceZ() const { return m_varianceZ; } }; diff --git a/offline/packages/trackbase/TGeoDetectorWithOptions.cc b/offline/packages/trackbase/TGeoDetectorWithOptions.cc index 6c0698cec7..959788220d 100644 --- a/offline/packages/trackbase/TGeoDetectorWithOptions.cc +++ b/offline/packages/trackbase/TGeoDetectorWithOptions.cc @@ -10,13 +10,13 @@ #include #include #include -#include -#include -#include #include #include #include #include +#include +#include +#include #include #include @@ -24,59 +24,66 @@ #include -namespace ActsExamples { -using namespace Options; +namespace ActsExamples +{ + using namespace Options; -namespace { + namespace + { -/// Read the TGeo layer builder configurations from the user configuration -/// specified with --geo-tgeo-jsonconfig. -void readTGeoLayerBuilderConfigs(const Variables& vm, - TGeoDetector::Config& config) { - const auto path = vm["geo-tgeo-jsonconfig"].template as(); - TGeoDetector::readTGeoLayerBuilderConfigsFile(path, config); -} + /// Read the TGeo layer builder configurations from the user configuration + /// specified with --geo-tgeo-jsonconfig. + void readTGeoLayerBuilderConfigs(const Variables& vm, + TGeoDetector::Config& config) + { + const auto path = vm["geo-tgeo-jsonconfig"].template as(); + TGeoDetector::readTGeoLayerBuilderConfigsFile(path, config); + } -/// Dump TGeo Detector config to file. -void writeTGeoDetectorConfig(const Variables& vm, - TGeoDetector::Config& config) { - const auto path = vm["geo-tgeo-dump-jsonconfig"].template as(); - nlohmann::json djson; - if (path.empty()) { - return; - } - std::ofstream outfile(path, std::ofstream::out | std::ofstream::binary); + /// Dump TGeo Detector config to file. + void writeTGeoDetectorConfig(const Variables& vm, + TGeoDetector::Config& config) + { + const auto path = vm["geo-tgeo-dump-jsonconfig"].template as(); + nlohmann::json djson; + if (path.empty()) + { + return; + } + std::ofstream outfile(path, std::ofstream::out | std::ofstream::binary); - djson["geo-tgeo-unit-scalor"] = config.unitScalor; - djson["geo-tgeo-build-beampipe"] = config.buildBeamPipe; - djson["geo-tgeo-beampipe-parameters"] = - std::array{config.beamPipeRadius, config.beamPipeHalflengthZ, - config.beamPipeLayerThickness}; + djson["geo-tgeo-unit-scalor"] = config.unitScalor; + djson["geo-tgeo-build-beampipe"] = config.buildBeamPipe; + djson["geo-tgeo-beampipe-parameters"] = + std::array{config.beamPipeRadius, config.beamPipeHalflengthZ, + config.beamPipeLayerThickness}; - // Enable empty volume dump - if (config.volumes.empty()) { - config.volumes.emplace_back(); - } - djson["Volumes"] = config.volumes; + // Enable empty volume dump + if (config.volumes.empty()) + { + config.volumes.emplace_back(); + } + djson["Volumes"] = config.volumes; - outfile << djson.dump(2) << std::endl; -} + outfile << djson.dump(2) << std::endl; + } -} // namespace + } // namespace -void TGeoDetectorWithOptions::addOptions( - boost::program_options::options_description& opt) const { - using boost::program_options::value; + void TGeoDetectorWithOptions::addOptions( + boost::program_options::options_description& opt) const + { + using boost::program_options::value; - auto tmp = opt.add_options(); - // required global options - tmp("geo-tgeo-filename", value()->default_value(""), - "Root file name."); - tmp("geo-tgeo-jsonconfig", value()->default_value(""), - "Json config file name."); - tmp("geo-tgeo-dump-jsonconfig", - value()->default_value("tgeo_empty_config.json"), - "Json file to dump empty config into."); -} + auto tmp = opt.add_options(); + // required global options + tmp("geo-tgeo-filename", value()->default_value(""), + "Root file name."); + tmp("geo-tgeo-jsonconfig", value()->default_value(""), + "Json config file name."); + tmp("geo-tgeo-dump-jsonconfig", + value()->default_value("tgeo_empty_config.json"), + "Json file to dump empty config into."); + } } // namespace ActsExamples diff --git a/offline/packages/trackbase/TGeoDetectorWithOptions.h b/offline/packages/trackbase/TGeoDetectorWithOptions.h index af3358abdf..03e39a4ed9 100644 --- a/offline/packages/trackbase/TGeoDetectorWithOptions.h +++ b/offline/packages/trackbase/TGeoDetectorWithOptions.h @@ -2,20 +2,24 @@ #ifndef _TGEO_DETECTOR_WITH_OPTIONS_H_ #define _TGEO_DETECTOR_WITH_OPTIONS_H_ -#include "IBaseDetector.h" #include +#include "IBaseDetector.h" -namespace ActsExamples { +namespace ActsExamples +{ -class TGeoDetectorWithOptions : public IBaseDetector { - public: - TGeoDetectorWithOptions(TGeoDetector::Config config) : m_detector(config) {} - TGeoDetector m_detector; + class TGeoDetectorWithOptions : public IBaseDetector + { + public: + TGeoDetectorWithOptions(TGeoDetector::Config config) + : m_detector(config) + { + } + TGeoDetector m_detector; - void addOptions( - boost::program_options::options_description& opt) const override; - -}; + void addOptions( + boost::program_options::options_description& opt) const override; + }; } // namespace ActsExamples #endif // _TGEO_DETECTOR_WITH_OPTIONS_H_ \ No newline at end of file diff --git a/offline/packages/trackbase/TpcDefs.cc b/offline/packages/trackbase/TpcDefs.cc index d595f5ee4d..3e5745e90b 100644 --- a/offline/packages/trackbase/TpcDefs.cc +++ b/offline/packages/trackbase/TpcDefs.cc @@ -25,7 +25,7 @@ namespace // 0 - 16 time bin static constexpr unsigned int kBitShiftPad = 16; static constexpr unsigned int kBitShiftTBin = 0; -} +} // namespace uint8_t TpcDefs::getSectorId(TrkrDefs::hitsetkey key) diff --git a/offline/packages/trackbase/TpcDefs.h b/offline/packages/trackbase/TpcDefs.h index 7712a28837..ff52b335a1 100644 --- a/offline/packages/trackbase/TpcDefs.h +++ b/offline/packages/trackbase/TpcDefs.h @@ -96,7 +96,7 @@ namespace TpcDefs */ TrkrDefs::hitsetkey genHitSetKey(const uint8_t lyr, const uint8_t sector, const uint8_t side); - /** + /** * @brief Generate a hitsetkey for a tpc module * @param[in] region index (0, 1, 2) * @param[in] sector Sector index diff --git a/offline/packages/trackbase/TrackFitUtils.cc b/offline/packages/trackbase/TrackFitUtils.cc index e6ecbb16ab..21bf9c56aa 100644 --- a/offline/packages/trackbase/TrackFitUtils.cc +++ b/offline/packages/trackbase/TrackFitUtils.cc @@ -109,7 +109,7 @@ Acts::Vector3 TrackFitUtils::surface_3Dline_intersection(const TrkrDefs::cluskey Acts::Vector3 v1(x1, y1, z1), v2(x2, y2, z2); Acts::Vector3 surfcenter = surf->center(geometry->geometry().getGeoContext()) / Acts::UnitConstants::cm; - Acts::Vector3 surfnorm = surf->normal(geometry->geometry().getGeoContext(), Acts::Vector3(1,1,1), Acts::Vector3(1,1,1)) / Acts::UnitConstants::cm; + Acts::Vector3 surfnorm = surf->normal(geometry->geometry().getGeoContext(), Acts::Vector3(1, 1, 1), Acts::Vector3(1, 1, 1)) / Acts::UnitConstants::cm; Acts::Vector3 u = v2 - v1; float const dot = surfnorm.dot(u); @@ -609,7 +609,7 @@ Acts::Vector2 TrackFitUtils::get_circle_point_pca(float radius, float x0, float //_________________________________________________________________________________ std::vector TrackFitUtils::fitClusters(std::vector& global_vec, - const std::vector &cluskey_vec, + const std::vector& cluskey_vec, bool use_intt) { std::vector fitpars; @@ -1027,7 +1027,7 @@ TrackFitUtils::zero_field_track_params( return std::make_tuple(true, phi, eta, 1, Acts::Vector3(x, y, z), p); } -bool TrackFitUtils::isTrackCrossMvtxHalf(const std::vector &cluskey_vec) +bool TrackFitUtils::isTrackCrossMvtxHalf(const std::vector& cluskey_vec) { bool isWest = false; bool isEast = false; diff --git a/offline/packages/trackbase/TrackFitUtils.h b/offline/packages/trackbase/TrackFitUtils.h index ae9dc22481..22b92cb921 100644 --- a/offline/packages/trackbase/TrackFitUtils.h +++ b/offline/packages/trackbase/TrackFitUtils.h @@ -2,8 +2,8 @@ #define TRACKBASE_TRACKFITUTILS_H #include "ActsSurfaceMaps.h" -#include "TrkrDefs.h" #include "MvtxDefs.h" +#include "TrkrDefs.h" #include @@ -46,7 +46,7 @@ namespace TrackFitUtils /** * copied from: https://www.bragitoff.com * typically used to fit we want to fit z vs radius - * + * * Updated to use the "Deming model" by default: * minimizing by orthoncal distance to line in x and y * (instead of the y-distance). For details, see: @@ -59,8 +59,8 @@ namespace TrackFitUtils * - project point "global" to the line. * - return distance on line to the pca (the point of closest approach to origin) */ - double line_dist_to_pca (const double slope, const double intercept, - const Acts::Vector2& pca, const Acts::Vector3& global); + double line_dist_to_pca(const double slope, const double intercept, + const Acts::Vector2& pca, const Acts::Vector3& global); /// convenient overload line_fit_output_t line_fit(const std::vector&); @@ -71,15 +71,15 @@ namespace TrackFitUtils /// line-circle intersection output. (xplus, yplus, xminus, yminus) using line_circle_intersection_output_t = std::tuple; /** - * r is radius of sPHENIX layer - * m and b are parameters of line fitted to TPC clusters in the x-y plane (slope and intersection) - * the solutions are xplus, xminus, yplus, yminus - * The intersection of the line-circle occurs when - * y = m*x + b - * Here we assume that circle is an sPHENIX layer centered on x1=y1=0 - * x^2 +y^2 = r^2 - * substitute for y in equation of circle, solve for x, and then for y. - **/ + * r is radius of sPHENIX layer + * m and b are parameters of line fitted to TPC clusters in the x-y plane (slope and intersection) + * the solutions are xplus, xminus, yplus, yminus + * The intersection of the line-circle occurs when + * y = m*x + b + * Here we assume that circle is an sPHENIX layer centered on x1=y1=0 + * x^2 +y^2 = r^2 + * substitute for y in equation of circle, solve for x, and then for y. + **/ line_circle_intersection_output_t line_circle_intersection(double r, double m, double b); /// circle-circle intersection output. (xplus, yplus, xminus, yminus) @@ -101,23 +101,23 @@ namespace TrackFitUtils circle_circle_intersection_output_t circle_circle_intersection(double r1, double r2, double x2, double y2); unsigned int addClusters(std::vector& fitpars, - double dca_cut, - ActsGeometry* _tGeometry, - TrkrClusterContainer* _cluster_map, - std::vector& global_vec, - std::vector& cluskey_vec, - unsigned int startLayer, - unsigned int endLayer); + double dca_cut, + ActsGeometry* _tGeometry, + TrkrClusterContainer* _cluster_map, + std::vector& global_vec, + std::vector& cluskey_vec, + unsigned int startLayer, + unsigned int endLayer); unsigned int addClustersOnLine(TrackFitUtils::line_fit_output_t& fitpars, - const bool& isXY, - const double& dca_cut, - ActsGeometry* tGeometry, - TrkrClusterContainer* clusterContainer, - std::vector& global_vec, - std::vector& cluskey_vec, - const unsigned int& startLayer, - const unsigned int& endLayer); + const bool& isXY, + const double& dca_cut, + ActsGeometry* tGeometry, + TrkrClusterContainer* clusterContainer, + std::vector& global_vec, + std::vector& cluskey_vec, + const unsigned int& startLayer, + const unsigned int& endLayer); std::pair get_helix_tangent(const std::vector& fitpars, Acts::Vector3& global); @@ -126,46 +126,44 @@ namespace TrackFitUtils Acts::Vector2 get_circle_point_pca(float radius, float x0, float y0, Acts::Vector3 global); std::vector fitClusters(std::vector& global_vec, - const std::vector &cluskey_vec, - bool use_intt = false); + const std::vector& cluskey_vec, + bool use_intt = false); void getTrackletClusters(ActsGeometry* _tGeometry, - TrkrClusterContainer* _cluster_map, - std::vector& global_vec, - const std::vector& cluskey_vec); + TrkrClusterContainer* _cluster_map, + std::vector& global_vec, + const std::vector& cluskey_vec); Acts::Vector3 surface_3Dline_intersection(const TrkrDefs::cluskey& key, - TrkrCluster* cluster, ActsGeometry* geometry, float& xyslope, float& xyint, float& yzslope, float& yzint); + TrkrCluster* cluster, ActsGeometry* geometry, float& xyslope, float& xyint, float& yzslope, float& yzint); Acts::Vector3 getPCALinePoint(const Acts::Vector3& global, const Acts::Vector3& tangent, const Acts::Vector3& posref); Acts::Vector3 get_helix_surface_intersection(const Surface& surf, - std::vector& fitpars, Acts::Vector3& global, ActsGeometry* _tGeometry); + std::vector& fitpars, Acts::Vector3& global, ActsGeometry* _tGeometry); Acts::Vector3 get_line_plane_intersection(const Acts::Vector3& pca, const Acts::Vector3& tangent, - const Acts::Vector3& sensorCenter, const Acts::Vector3& sensorNormal); + const Acts::Vector3& sensorCenter, const Acts::Vector3& sensorNormal); std::vector getLineClusterResiduals(position_vector_t& rz_pts, float slope, float intercept); std::vector getCircleClusterResiduals(position_vector_t& xy_pts, float R, float X0, float Y0); Acts::Vector2 get_line_point_pca(double slope, double intercept, Acts::Vector3 global); std::vector fitClustersZeroField(const std::vector& global_vec, - const std::vector& cluskey_vec, bool use_intt, bool mvtx_east = false, bool mvtx_west=false); - + const std::vector& cluskey_vec, bool use_intt, bool mvtx_east = false, bool mvtx_west = false); float get_helix_pathlength(std::vector& fitpars, const Acts::Vector3& start_point, const Acts::Vector3& end_point); float get_helix_surface_pathlength(const Surface& surf, std::vector& fitpars, const Acts::Vector3& start_point, ActsGeometry* tGeometry); /* std::tuple dca_on_line2D_to_point(const double x0, const double y0, const double xy_m, const double xy_b); */ // get track fit parameters for track matching:: is-good-fit, phi, eta, pt==1, pos_vec3, mom_vec3 - std::tuple - zero_field_track_params( - ActsGeometry* _tGeometry, - TrkrClusterContainer* _cluster_map, - const std::vector& clusters - ); - - double z_fit_to_pca(const double slope, const double intercept, - const std::vector& glob_pts); - bool isTrackCrossMvtxHalf(const std::vector &cluskey_vec); + std::tuple + zero_field_track_params( + ActsGeometry* _tGeometry, + TrkrClusterContainer* _cluster_map, + const std::vector& clusters); + + double z_fit_to_pca(const double slope, const double intercept, + const std::vector& glob_pts); + bool isTrackCrossMvtxHalf(const std::vector& cluskey_vec); bool includeMvtxHit(TrkrDefs::cluskey clus_key, bool mvtx_east, bool mvtx_west); bool isMvtxEast(uint32_t hitsetkey); -}; +}; // namespace TrackFitUtils #endif diff --git a/offline/packages/trackbase/TrackFittingAlgorithmFunctionsKalman.cc b/offline/packages/trackbase/TrackFittingAlgorithmFunctionsKalman.cc index d82238123f..3d0f4b7fe6 100644 --- a/offline/packages/trackbase/TrackFittingAlgorithmFunctionsKalman.cc +++ b/offline/packages/trackbase/TrackFittingAlgorithmFunctionsKalman.cc @@ -16,7 +16,6 @@ #include - namespace { using Updater = Acts::GainMatrixUpdater; diff --git a/offline/packages/trackbase/TrackVertexCrossingAssoc_v1.cc b/offline/packages/trackbase/TrackVertexCrossingAssoc_v1.cc index 0c0752fb07..28354b243b 100644 --- a/offline/packages/trackbase/TrackVertexCrossingAssoc_v1.cc +++ b/offline/packages/trackbase/TrackVertexCrossingAssoc_v1.cc @@ -35,27 +35,26 @@ void TrackVertexCrossingAssoc_v1::identify(std::ostream& os) const { std::multimap::const_iterator iter; os << "-----TrackVertexCrossingAssoc_v1-----" << std::endl; - os << "Number of vertex associations: " << sizeVertices() << "Number of track associations: " << sizeTracks() << std::endl; + os << "Number of vertex associations: " << sizeVertices() << "Number of track associations: " << sizeTracks() << std::endl; for (const auto& cross : _crossing_set) - { - auto vtxit = _vertex_assoc_map.equal_range(cross); - os << "Crossing " << cross << std::endl; - os << " vertex ID's: "; - for (auto itr = vtxit.first; itr != vtxit.second; ++itr) - { - os << itr->second << " "; - } - os << std::endl; - - auto trit = _track_assoc_map.equal_range(cross); - os << " track ID's: "; - for (auto itr = trit.first; itr != trit.second; ++itr) - { - os << itr->second << " "; - } - os << std::endl; + { + auto vtxit = _vertex_assoc_map.equal_range(cross); + os << "Crossing " << cross << std::endl; + os << " vertex ID's: "; + for (auto itr = vtxit.first; itr != vtxit.second; ++itr) + { + os << itr->second << " "; + } + os << std::endl; + auto trit = _track_assoc_map.equal_range(cross); + os << " track ID's: "; + for (auto itr = trit.first; itr != trit.second; ++itr) + { + os << itr->second << " "; } + os << std::endl; + } return; } @@ -113,4 +112,3 @@ unsigned int TrackVertexCrossingAssoc_v1::sizeVertices() const return size; } - diff --git a/offline/packages/trackbase/TrkrClusterContainer.h b/offline/packages/trackbase/TrkrClusterContainer.h index d1daf3069d..8dc29b6cee 100644 --- a/offline/packages/trackbase/TrkrClusterContainer.h +++ b/offline/packages/trackbase/TrkrClusterContainer.h @@ -49,8 +49,9 @@ class TrkrClusterContainer : public PHObject virtual void removeCluster(TrkrDefs::cluskey) {} //! delete and remove all the clusters matching a given hitsetkey - virtual void removeClusters( TrkrDefs::hitsetkey ) - {} + virtual void removeClusters(TrkrDefs::hitsetkey) + { + } //! return all clusters virtual ConstRange getClusters() const; diff --git a/offline/packages/trackbase/TrkrClusterContainerv4.cc b/offline/packages/trackbase/TrkrClusterContainerv4.cc index e975ce3872..29d84959f2 100644 --- a/offline/packages/trackbase/TrkrClusterContainerv4.cc +++ b/offline/packages/trackbase/TrkrClusterContainerv4.cc @@ -97,11 +97,16 @@ void TrkrClusterContainerv4::removeClusters(TrkrDefs::hitsetkey hitsetkey) auto iter = m_clusmap.find(hitsetkey); // do nothing if not found - if( iter == m_clusmap.end() ) { return; } + if (iter == m_clusmap.end()) + { + return; + } // delete all clusters - for( auto&& cluster:iter->second) - { delete cluster; } + for (auto&& cluster : iter->second) + { + delete cluster; + } // remove from map m_clusmap.erase(iter); diff --git a/offline/packages/trackbase/TrkrClusterHitAssoc.h b/offline/packages/trackbase/TrkrClusterHitAssoc.h index e3cdf0027c..766ff53ab1 100644 --- a/offline/packages/trackbase/TrkrClusterHitAssoc.h +++ b/offline/packages/trackbase/TrkrClusterHitAssoc.h @@ -32,7 +32,8 @@ class TrkrClusterHitAssoc : public PHObject //! remove all associations matching a given hitsetkey virtual void removeAssocs(TrkrDefs::hitsetkey) - {} + { + } /** * @brief Add association between cluster and hit diff --git a/offline/packages/trackbase/TrkrClusterv6.h b/offline/packages/trackbase/TrkrClusterv6.h index 96742d25fa..3b54f2c563 100644 --- a/offline/packages/trackbase/TrkrClusterv6.h +++ b/offline/packages/trackbase/TrkrClusterv6.h @@ -7,8 +7,8 @@ #ifndef TRACKBASE_TRKRCLUSTERV6_H #define TRACKBASE_TRKRCLUSTERV6_H -#include #include +#include #include "TrkrCluster.h" #include "TrkrDefs.h" @@ -224,7 +224,7 @@ class TrkrClusterv6 : public TrkrCluster void setPadPhase(float padphase) { m_padphase = padphase; } float getTBinPhase() const override { return m_tbinphase; } - void setTBinPhase(float tbinphase){ m_tbinphase = tbinphase; } + void setTBinPhase(float tbinphase) { m_tbinphase = tbinphase; } // float getPhiSize() const override //{ std::cout << "Deprecated size function"<< std::endl; return NAN;} @@ -246,23 +246,23 @@ class TrkrClusterv6 : public TrkrCluster float m_tbincen; float m_padmax; float m_tbinmax; - unsigned char m_rsize; // 8bit - char m_phisize; // 8bit - char m_zsize; // 8bit - char m_overlap; // 8bit - char m_edge; // 8bit - cumul 2*64 - char m_sledge; // 8bit - char m_sredge; // 8bit - char m_tledge; // 8bit - char m_tredge; // 8bit - char m_dledge; // 8bit - char m_dredge; // 8bit - char m_hledge; // 8bit - char m_hredge; // 8bit - unsigned char m_slmix; // 8bit - unsigned char m_srmix; // 8bit - unsigned char m_tlmix; // 8bit - unsigned char m_trmix; // 8bit + unsigned char m_rsize; // 8bit + char m_phisize; // 8bit + char m_zsize; // 8bit + char m_overlap; // 8bit + char m_edge; // 8bit - cumul 2*64 + char m_sledge; // 8bit + char m_sredge; // 8bit + char m_tledge; // 8bit + char m_tredge; // 8bit + char m_dledge; // 8bit + char m_dredge; // 8bit + char m_hledge; // 8bit + char m_hredge; // 8bit + unsigned char m_slmix; // 8bit + unsigned char m_srmix; // 8bit + unsigned char m_tlmix; // 8bit + unsigned char m_trmix; // 8bit float m_phibinlo; float m_phibinhi; float m_tbinlo; diff --git a/offline/packages/trackbase/TrkrDefs.cc b/offline/packages/trackbase/TrkrDefs.cc index 3a385c8f9a..9b5e312776 100644 --- a/offline/packages/trackbase/TrkrDefs.cc +++ b/offline/packages/trackbase/TrkrDefs.cc @@ -15,7 +15,7 @@ namespace // hitsetkey upper 32 bits // cluster id lower 32 bits static constexpr unsigned int kBitShiftClusId = 32; -} +} // namespace void TrkrDefs::printBits(const TrkrDefs::hitsetkey key, std::ostream& os) { diff --git a/offline/packages/trackbase/TrkrDefs.h b/offline/packages/trackbase/TrkrDefs.h index b524026912..57260ffc08 100644 --- a/offline/packages/trackbase/TrkrDefs.h +++ b/offline/packages/trackbase/TrkrDefs.h @@ -46,12 +46,11 @@ namespace TrkrDefs //! Standard names for trackers static const std::map TrkrNames = - { - {mvtxId, "MVTX"}, - {inttId, "INTT"}, - {tpcId, "TPC"}, - {micromegasId, "MICROMEGAS"} - }; + { + {mvtxId, "MVTX"}, + {inttId, "INTT"}, + {tpcId, "TPC"}, + {micromegasId, "MICROMEGAS"}}; /// Print the bits for each key type void printBits(const TrkrDefs::hitsetkey key, std::ostream& os = std::cout); diff --git a/offline/packages/trackbase/TrkrHit.h b/offline/packages/trackbase/TrkrHit.h index 5a2180e162..331c95342b 100644 --- a/offline/packages/trackbase/TrkrHit.h +++ b/offline/packages/trackbase/TrkrHit.h @@ -25,7 +25,6 @@ class TrkrHit : public PHObject { public: - //! dtor ~TrkrHit() override = default; @@ -42,11 +41,13 @@ class TrkrHit : public PHObject //! copy content from base class virtual void CopyFrom(const TrkrHit&) - {} + { + } //! copy content from base class virtual void CopyFrom(TrkrHit*) - {} + { + } // these set and get the energy before digitization virtual void addEnergy(const double) {} diff --git a/offline/packages/trackbase/TrkrHitSetContainerv2.cc b/offline/packages/trackbase/TrkrHitSetContainerv2.cc index 92d788f5dd..0448c690cd 100644 --- a/offline/packages/trackbase/TrkrHitSetContainerv2.cc +++ b/offline/packages/trackbase/TrkrHitSetContainerv2.cc @@ -29,14 +29,16 @@ void TrkrHitSetContainerv2::Reset() //! This is inspired by but even faster than TClonesArray::Clear() //! We just reset hitset values and reuse the hitset objects Int_t n = m_hitArray.GetEntriesFast(); - for (Int_t i = 0; i < n; i++) { - TObject *obj = m_hitArray.UncheckedAt(i); - if (obj) { - obj->Clear(); - obj->ResetBit( kHasUUID ); - obj->ResetBit( kIsReferenced ); - obj->SetUniqueID( 0 ); - } + for (Int_t i = 0; i < n; i++) + { + TObject* obj = m_hitArray.UncheckedAt(i); + if (obj) + { + obj->Clear(); + obj->ResetBit(kHasUUID); + obj->ResetBit(kIsReferenced); + obj->SetUniqueID(0); + } } // alternative is to also marking hitset removed, which is not used here but optional for a v3 container @@ -79,7 +81,7 @@ TrkrHitSetContainerv2::addHitSetSpecifyKey(const TrkrDefs::hitsetkey key, TrkrHi return TrkrHitSetContainer::addHitSetSpecifyKey(key, newhit); } -void TrkrHitSetContainerv2::removeHitSet(TrkrDefs::hitsetkey ) +void TrkrHitSetContainerv2::removeHitSet(TrkrDefs::hitsetkey) { std::cout << __PRETTY_FUNCTION__ << " : deprecated. This function still works but slows down operation." << std::endl; @@ -126,7 +128,7 @@ TrkrHitSetContainerv2::findOrAddHitSet(TrkrDefs::hitsetkey key) { TrkrHitSet* hitset = (TrkrHitSet*) m_hitArray.ConstructedAt(m_hitArray.GetLast() + 1); assert(hitset); - hitset -> setHitSetKey(key); + hitset->setHitSetKey(key); it = m_hitmap.insert(it, std::make_pair(key, hitset)); } return it; diff --git a/offline/packages/trackbase/TrkrHitSetContainerv2.h b/offline/packages/trackbase/TrkrHitSetContainerv2.h index e2f31594a4..5b5fd64dcc 100644 --- a/offline/packages/trackbase/TrkrHitSetContainerv2.h +++ b/offline/packages/trackbase/TrkrHitSetContainerv2.h @@ -18,7 +18,7 @@ class TrkrHitSet; */ class TrkrHitSetContainerv2 final : public TrkrHitSetContainer { -public: + public: //! only used in ROOT IO. Do NOT use this constructor in user code TrkrHitSetContainerv2() = default; diff --git a/offline/packages/trackbase/TrkrHitSetContainerv2LinkDef.h b/offline/packages/trackbase/TrkrHitSetContainerv2LinkDef.h index 19ca55e5ca..dbe28c34f8 100644 --- a/offline/packages/trackbase/TrkrHitSetContainerv2LinkDef.h +++ b/offline/packages/trackbase/TrkrHitSetContainerv2LinkDef.h @@ -1,5 +1,5 @@ #ifdef __CINT__ -#pragma link C++ class TrkrHitSetContainerv2+; +#pragma link C++ class TrkrHitSetContainerv2 + ; #endif /* __CINT__ */ diff --git a/offline/packages/trackbase/TrkrHitSetTpc.h b/offline/packages/trackbase/TrkrHitSetTpc.h index 06bb388185..87fb9fa60e 100644 --- a/offline/packages/trackbase/TrkrHitSetTpc.h +++ b/offline/packages/trackbase/TrkrHitSetTpc.h @@ -67,7 +67,7 @@ class TrkrHitSetTpc : public TrkrHitSet return tmp; } - virtual TimeFrameADCDataType& getTimeFrameAdcData() + virtual TimeFrameADCDataType& getTimeFrameAdcData() { static TimeFrameADCDataType tmp; @@ -92,7 +92,7 @@ class TrkrHitSetTpc : public TrkrHitSet return 0; } - virtual void setPadIndexStart(uint16_t ) + virtual void setPadIndexStart(uint16_t) { } @@ -101,7 +101,7 @@ class TrkrHitSetTpc : public TrkrHitSet return 0; } - virtual void setStartingBco(TpcDefs::BCODataType ) + virtual void setStartingBco(TpcDefs::BCODataType) { } diff --git a/offline/packages/trackbase/TrkrHitSetTpcLinkDef.h b/offline/packages/trackbase/TrkrHitSetTpcLinkDef.h index 2a997986ab..e28966ede0 100644 --- a/offline/packages/trackbase/TrkrHitSetTpcLinkDef.h +++ b/offline/packages/trackbase/TrkrHitSetTpcLinkDef.h @@ -1,5 +1,5 @@ #ifdef __CINT__ -#pragma link C++ class TrkrHitSetTpc+; +#pragma link C++ class TrkrHitSetTpc + ; #endif diff --git a/offline/packages/trackbase/TrkrHitSetTpcv1.h b/offline/packages/trackbase/TrkrHitSetTpcv1.h index 025230f4e4..7faaa4f7e3 100644 --- a/offline/packages/trackbase/TrkrHitSetTpcv1.h +++ b/offline/packages/trackbase/TrkrHitSetTpcv1.h @@ -16,7 +16,9 @@ class TrkrHitSetTpcv1 final : public TrkrHitSetTpc TrkrHitSetTpcv1() = default; TrkrHitSetTpcv1(const uint16_t n_pad, const uint16_t n_tbin) - : TrkrHitSetTpc(n_pad, n_tbin), m_nPads(n_pad), m_nTBins(n_tbin) + : TrkrHitSetTpc(n_pad, n_tbin) + , m_nPads(n_pad) + , m_nTBins(n_tbin) { Resize(); } diff --git a/offline/packages/trackbase/TrkrHitSetTpcv1LinkDef.h b/offline/packages/trackbase/TrkrHitSetTpcv1LinkDef.h index e6e64918c2..bc431fb6d4 100644 --- a/offline/packages/trackbase/TrkrHitSetTpcv1LinkDef.h +++ b/offline/packages/trackbase/TrkrHitSetTpcv1LinkDef.h @@ -1,5 +1,5 @@ #ifdef __CINT__ -#pragma link C++ class TrkrHitSetTpcv1+; +#pragma link C++ class TrkrHitSetTpcv1 + ; #endif diff --git a/offline/packages/trackbase/alignmentTransformationContainer.h b/offline/packages/trackbase/alignmentTransformationContainer.h index 8711ec5b45..4656bc6d32 100644 --- a/offline/packages/trackbase/alignmentTransformationContainer.h +++ b/offline/packages/trackbase/alignmentTransformationContainer.h @@ -49,7 +49,6 @@ class alignmentTransformationContainer /// Map of TrkrDefs::Layer to misalignment factor std::map m_misalignmentFactor; - }; #endif // TRACKBASE_ALIGNMENTTRANSFORMATIONCONTAINER_H diff --git a/offline/packages/trackbase/autogen.sh b/offline/packages/trackbase/autogen.sh old mode 100755 new mode 100644 index 333dd3b499..d46c9f0362 --- a/offline/packages/trackbase/autogen.sh +++ b/offline/packages/trackbase/autogen.sh @@ -1,9 +1,8 @@ -#!/bin/sh -srcdir=`dirname $0` -test -z "$srcdir" && srcdir=. +#!/ bin / sh +srcdir =`dirname $0` test - z "$srcdir" &&srcdir =. -(cd $srcdir; aclocal -I ${OFFLINE_MAIN}/share;\ -libtoolize --force; automake -a --add-missing; autoconf) - -$srcdir/configure "$@" + (cd $srcdir; aclocal - I ${OFFLINE_MAIN} / share; + libtoolize-- force; automake - a-- add - missing; autoconf) + $srcdir / + configure "$@" diff --git a/offline/packages/trackbase/configure.ac b/offline/packages/trackbase/configure.ac index b911db9aff..85b794b1e6 100644 --- a/offline/packages/trackbase/configure.ac +++ b/offline/packages/trackbase/configure.ac @@ -4,7 +4,7 @@ AC_CONFIG_SRCDIR([configure.ac]) AM_INIT_AUTOMAKE AC_PROG_CXX(CC g++) -LT_INIT([disable-static]) +LT_INIT([disable - static]) dnl no point in suppressing warnings people should dnl at least see them, so here we go for g++: -Wall @@ -20,7 +20,8 @@ AC_ARG_ENABLE(online, [case "${enableval}" in yes) online=true ;; no) online=false ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-online) ;; + *) AC_MSG_ERROR(bad value ${ + enableval} for --enable-online) ;; esac], online=false) AM_CONDITIONAL(USE_ONLINE, test "x$online" = xtrue) diff --git a/offline/packages/trackbase/sPHENIXActsDetectorElement.cc b/offline/packages/trackbase/sPHENIXActsDetectorElement.cc index 3751f68a6c..4c9a8f1c8f 100644 --- a/offline/packages/trackbase/sPHENIXActsDetectorElement.cc +++ b/offline/packages/trackbase/sPHENIXActsDetectorElement.cc @@ -23,7 +23,7 @@ const Acts::Transform3& sPHENIXActsDetectorElement::localToGlobalTransform(const auto& layerVec = transformVec[sphlayer]; // get the vector of transforms for this layer if (layerVec.size() > sensor) - { + { return layerVec[sensor]; } diff --git a/offline/packages/trackbase/sPHENIXActsDetectorElement.h b/offline/packages/trackbase/sPHENIXActsDetectorElement.h index 98a4813989..0f27f21ebe 100644 --- a/offline/packages/trackbase/sPHENIXActsDetectorElement.h +++ b/offline/packages/trackbase/sPHENIXActsDetectorElement.h @@ -26,7 +26,7 @@ class sPHENIXActsDetectorElement : public ActsPlugins::TGeoDetectorElement double scalor = 10., std::shared_ptr material = nullptr) : ActsPlugins::TGeoDetectorElement(identifier, tGeoNode, tGeoMatrix, - axes, scalor, material) + axes, scalor, material) { } @@ -36,7 +36,7 @@ class sPHENIXActsDetectorElement : public ActsPlugins::TGeoDetectorElement std::shared_ptr tgBounds, double tgThickness = 0.) : ActsPlugins::TGeoDetectorElement(identifier, tGeoNode, tgTransform, - tgBounds, tgThickness) + tgBounds, tgThickness) { } @@ -46,7 +46,7 @@ class sPHENIXActsDetectorElement : public ActsPlugins::TGeoDetectorElement std::shared_ptr tgBounds, double tgThickness = 0.) : ActsPlugins::TGeoDetectorElement(identifier, tGeoNode, tgTransform, tgBounds, - tgThickness) + tgThickness) { }