1 #ifndef SILICONTRACKING_H
2 #define SILICONTRACKING_H 1
4 #include "marlin/Processor.h"
8 #include <IMPL/TrackImpl.h>
9 #include "ClusterExtended.h"
10 #include "TrackExtended.h"
11 #include "TrackerHitExtended.h"
12 #include "HelixClass.h"
13 #include "../../BrahmsTracking/include/MarlinTrackFit.h"
15 using namespace lcio ;
16 using namespace marlin ;
191 virtual void init() ;
195 virtual void processRunHeader( LCRunHeader* run ) ;
199 virtual void processEvent( LCEvent * evt ) ;
202 virtual void check( LCEvent * evt ) ;
215 int _nDivisionsInPhi;
216 int _nDivisionsInTheta;
224 std::string _VTXHitCollection;
225 std::string _FTDHitCollection;
226 std::string _SITHitCollection;
227 std::string _siTrkCollection;
228 std::string _siTrkMCPCollection;
230 std::vector<TrackerHitExtendedVec> _sectors;
231 std::vector<TrackerHitExtendedVec> _sectorsFTD;
233 TrackExtendedVec _tracks5Hits;
234 TrackExtendedVec _tracks4Hits;
235 TrackExtendedVec _tracks3Hits;
237 int InitialiseVTX(LCEvent * evt);
238 int InitialiseFTD(LCEvent * evt);
239 void ProcessOneSector(
int iSectorPhi,
int iSectorTheta);
241 TrackExtended * TestTriplet(TrackerHitExtended * outerHit,
242 TrackerHitExtended * middleHit,
243 TrackerHitExtended * innerHit,
245 int BuildTrack(TrackerHitExtended * outerHit,
246 TrackerHitExtended * middleHit,
247 TrackerHitExtended * innerHit,
250 int iPhiLow,
int iPhiUp,
251 int iTheta,
int iThetaUp,
252 TrackExtended * trackAR);
254 void Sorting( TrackExtendedVec & trackVec);
255 void CreateTrack(TrackExtended * trackAR );
256 void AttachRemainingVTXHitsSlow();
257 void AttachRemainingFTDHitsSlow();
258 void AttachRemainingVTXHitsFast();
259 void AttachRemainingFTDHitsFast();
260 void TrackingInFTD();
261 int BuildTrackFTD(TrackExtended * trackAR,
int * nLR,
int iS);
262 int AttachHitToTrack(TrackExtended * trackAR, TrackerHitExtended * hit);
266 float _chi2WRPhiTriplet;
267 float _chi2WRPhiQuartet;
268 float _chi2WRPhiSeptet;
269 float _chi2WZTriplet;
270 float _chi2WZQuartet;
272 float _minDistCutAttach;
273 int _minimalLayerToAttach;
275 double PI,TWOPI,PIOVER2;
282 std::vector<float> _zLayerFTD;
283 std::vector<int> _Combinations;
284 std::vector<int> _CombinationsFTD;
286 float _resolutionRPhiVTX;
287 float _resolutionZVTX;
289 float _resolutionRPhiFTD;
290 float _resolutionZFTD;
292 float _resolutionRPhiSIT;
293 float _resolutionZSIT;
295 float _phiCutForMerging;
296 float _tanlambdaCutForMerging;
297 float _angleCutForMerging;
301 float _minDistToDelta;
307 float _chi2PrefitCut;
309 TrackExtendedVec _trackImplVec;
311 float _cutOnD0, _cutOnZ0, _cutOnOmega, _cutOnPt;
316 int _nTotalVTXHits,_nTotalFTDHits,_nTotalSITHits;
317 int _optFit,_simpleHelixFit;
=== Silicon Tracking Processor === Processor performing stand-alone pattern recognition in the vert...
Definition: SiliconTracking.h:179
Definition: MarlinTrackFit.h:26