10 #ifndef _KALMANFASTTRACKING_H
11 #define _KALMANFASTTRACKING_H
20 #include <Math/Factory.h>
21 #include <Math/Minimizer.h>
22 #include <Math/Functor.h>
113 void chi2fit(
int n,
double x[],
double y[],
double& a,
double& b);
121 std::vector<Hit> hitAll;
125 std::list<Tracklet> trackletsInSt[5];
128 std::list<SRecTrack> stracks;
131 unsigned int outputListIdx;
135 std::list<PropSegment> propSegs[2];
139 std::vector<int> detectorIDs_mask[4];
140 std::vector<int> detectorIDs_maskX[4];
141 std::vector<int> detectorIDs_maskY[4];
142 std::list<int> hitIDs_mask[4];
143 std::vector<int> detectorIDs_muidHodoAid[2];
146 std::vector<int> stationIDs_mask[
nStations];
149 int detectorIDs_muid[2][4];
150 double z_ref_muid[2][4];
151 std::list<int> hitIDs_muid[2][4];
152 std::list<int> hitIDs_muidHodoAid[2];
197 ROOT::Math::Minimizer* minimizer[2];
198 ROOT::Math::Functor fcn;
207 const bool enable_KF;
210 std::map<std::string, PHTimer*> _timers;
int setRawEvent(SRawEvent *event_input)
std::list< Tracklet > & getTrackletList(int i)
std::list< SRecTrack > & getSRecTracks()
int fitTracklet(Tracklet &tracklet)
void getSagittaWindowsInSt1(Tracklet &tracklet, double *pos_exp, double *window, int st1ID)
SRecTrack processOneTracklet(Tracklet &tracklet)
Track fitting stuff.
bool acceptTracklet(Tracklet &tracklet)
void chi2fit(int n, double x[], double y[], double &a, double &b)
Tool, a simple-minded chi square fit.
transient DST object for field storage and access
KalmanFastTracking(const PHField *field, const TGeoManager *geom, bool flag=true)
void resolveLeftRight(SRawEvent::hit_pair hpair, int &LR1, int &LR2)
std::list< Tracklet > & getBackPartials()
void buildTrackletsInStation(int stationID, int listID, double *pos_exp=nullptr, double *window=nullptr)
Tracklet finding stuff.
std::pair< Int_t, Int_t > hit_pair
Type of pair with two adjacent wires.
void removeBadHits(Tracklet &tracklet)
bool muonID_search(Tracklet &tracklet)
bool acceptEvent(SRawEvent *rawEvent)
int reduceTrackletList(std::list< Tracklet > &tracklets)
void printAtDetectorBack(int stationID, std::string outputFileName)
bool muonID_hodoAid(Tracklet &tracklet)
void buildBackPartialTracks()
bool fitTrack(KalmanTrack &kmtrk)
std::list< PropSegment > & getPropSegments(int i)
bool muonID_comp(Tracklet &tracklet)
void setOutputListID(unsigned int i)
Set the index of the final output tracklet list.
void setRawEventDebug(SRawEvent *event_input)
void getExtrapoWindowsInSt1(Tracklet &tracklet, double *pos_exp, double *window, int st1ID)
bool hodoMask(Tracklet &tracklet)
void resolveSingleLeftRight(Tracklet &tracklet)
void Verbosity(const int a)
std::list< Tracklet > & getFinalTracklets()
Final output.