Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Propagate to plane / Kalman on plane / Matriplex with support for scalar operations and VDT #148

Closed
wants to merge 23 commits into from
Closed
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
69c7600
implement plan local kalman update
cerati Apr 19, 2024
d9676b9
fix vectorization bug, and start cleaning up
cerati Apr 19, 2024
888bc92
more cleanup
cerati Apr 19, 2024
6a3360a
fix sign of dP
cerati Apr 20, 2024
505d48d
Enable prop2plane by default in Config.h.
osschar Apr 25, 2024
9670ea2
Move global dead-vector declaration to ConfigStandalone (out of mkFit…
osschar May 15, 2024
ccb7f06
Add VDT and scalar reduction/assignment to Matriplex, use it to simpl…
osschar May 15, 2024
4685974
From Dan: proper way to call float/double versons of VDT functions fr…
osschar May 23, 2024
830b587
Introduce new struct ModuleShape to describe detector-module bounds.
osschar May 29, 2024
5b884a0
first round of vectorization of kalman operations on plane
cerati May 30, 2024
d719468
fixes
cerati May 31, 2024
2da0b4f
step2 of optimizations
cerati May 31, 2024
fd065ea
step3 of optimizations
cerati May 31, 2024
17addd4
add auto generated include files
cerati May 31, 2024
bd372cb
Merge branch 'prop-plane-rb1' of github.com:trackreco/cmssw into prop…
cerati May 31, 2024
b449928
Introduce new struct ModuleShape to describe detector-module bounds.
osschar May 29, 2024
6fb5161
Prototype version of REve from Shell.
osschar Jun 5, 2024
8b12c6b
Fix with/without root handling of Shell.
osschar Jun 5, 2024
0ce7920
Replace cpp define NO_ROOT with inverse WITH_ROOT. Introduce addition…
osschar Jun 5, 2024
a9d57f5
Fix Shell/TRint construction/destructions; extend dictionary for shell.
osschar Jul 16, 2024
c609972
Use first-order prop-to-plane in selectHitIndices() for tilted modules.
osschar Jul 31, 2024
aab435b
attempt at removing non-optimized functions from prop to plane
cerati Aug 10, 2024
6f9a138
Merge branch 'prop-plane-rb1' of github.com:trackreco/cmssw into prop…
cerati Aug 10, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions RecoTracker/MkFitCMS/interface/MkStdSeqs.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#include "RecoTracker/MkFitCore/interface/Config.h"
#include "RecoTracker/MkFitCore/interface/Hit.h"
#include "RecoTracker/MkFitCore/interface/Track.h"
#include "RecoTracker/MkFitCore/interface/DeadRegion.h"
#include "RecoTracker/MkFitCore/interface/TrackerInfo.h"

namespace mkfit {
Expand Down
1 change: 1 addition & 0 deletions RecoTracker/MkFitCMS/standalone/Shell.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

#include "RecoTracker/MkFitCore/interface/Hit.h"
#include "RecoTracker/MkFitCore/interface/Track.h"
#include "RecoTracker/MkFitCore/interface/DeadRegion.h"

#include <map>

Expand Down
5 changes: 0 additions & 5 deletions RecoTracker/MkFitCMS/standalone/mkFit.cc
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,6 @@ using namespace mkfit;

//==============================================================================

namespace mkfit::internal {
// Filled in geometry plugin.
std::vector<DeadVec> deadvectors;
} // namespace mkfit::internal

void initGeom() {
std::cout << "Constructing geometry '" << Config::geomPlugin << "'\n";

Expand Down
17 changes: 17 additions & 0 deletions RecoTracker/MkFitCore/interface/BeamSpot.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#ifndef RecoTracker_MkFitCore_interface_BeamSpot_h
#define RecoTracker_MkFitCore_interface_BeamSpot_h

namespace mkfit {
struct BeamSpot {
float x = 0, y = 0, z = 0;
float sigmaZ = 5;
float beamWidthX = 5e-4, beamWidthY = 5e-4;
float dxdz = 0, dydz = 0;

BeamSpot() = default;
BeamSpot(float ix, float iy, float iz, float is, float ibx, float iby, float idxdz, float idydz)
: x(ix), y(iy), z(iz), sigmaZ(is), beamWidthX(ibx), beamWidthY(iby), dxdz(idxdz), dydz(idydz) {}
};
}

#endif
3 changes: 2 additions & 1 deletion RecoTracker/MkFitCore/interface/Config.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ namespace mkfit {
constexpr float PI3Over4 = 3.0f * Const::PI / 4.0f;
constexpr float InvPI = 1.0f / Const::PI;
constexpr float sol = 0.299792458; // speed of light in m/ns
constexpr float sol_over_100 = 0.299792458e-2;

// NAN and silly track parameter tracking options
constexpr bool nan_etc_sigs_enable = false;
Expand Down Expand Up @@ -48,7 +49,7 @@ namespace mkfit {
// Config for propagation - could/should enter into PropagationFlags?!
constexpr int Niter = 5;
constexpr bool useTrigApprox = true;
constexpr bool usePropToPlane = false;
constexpr bool usePropToPlane = true;
constexpr bool usePtMultScat = false;

// Config for Bfield. Note: for now the same for CMS-phase1 and CylCowWLids.
Expand Down
14 changes: 14 additions & 0 deletions RecoTracker/MkFitCore/interface/DeadRegion.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#ifndef RecoTracker_MkFitCore_interface_DeadRegion_h
#define RecoTracker_MkFitCore_interface_DeadRegion_h

#include <vector>

namespace mkfit {
struct DeadRegion {
float phi1, phi2, q1, q2;
DeadRegion(float a1, float a2, float b1, float b2) : phi1(a1), phi2(a2), q1(b1), q2(b2) {}
};
typedef std::vector<DeadRegion> DeadVec;
}

#endif
16 changes: 0 additions & 16 deletions RecoTracker/MkFitCore/interface/Hit.h
Original file line number Diff line number Diff line change
Expand Up @@ -273,21 +273,5 @@ namespace mkfit {

void print(std::string_view label, const MeasurementState& s);

struct DeadRegion {
float phi1, phi2, q1, q2;
DeadRegion(float a1, float a2, float b1, float b2) : phi1(a1), phi2(a2), q1(b1), q2(b2) {}
};
typedef std::vector<DeadRegion> DeadVec;

struct BeamSpot {
float x = 0, y = 0, z = 0;
float sigmaZ = 5;
float beamWidthX = 5e-4, beamWidthY = 5e-4;
float dxdz = 0, dydz = 0;

BeamSpot() = default;
BeamSpot(float ix, float iy, float iz, float is, float ibx, float iby, float idxdz, float idydz)
: x(ix), y(iy), z(iz), sigmaZ(is), beamWidthX(ibx), beamWidthY(iby), dxdz(idxdz), dydz(idydz) {}
};
} // end namespace mkfit
#endif
2 changes: 2 additions & 0 deletions RecoTracker/MkFitCore/interface/HitStructures.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@

#include "RecoTracker/MkFitCore/interface/Config.h"
#include "RecoTracker/MkFitCore/interface/Hit.h"
#include "RecoTracker/MkFitCore/interface/BeamSpot.h"
#include "RecoTracker/MkFitCore/interface/DeadRegion.h"
#include "RecoTracker/MkFitCore/interface/TrackerInfo.h"
#include "RecoTracker/MkFitCore/interface/binnor.h"

Expand Down
Loading