"MarlinReco"  1.16.0
SiliconTracking.h
1 #ifndef SILICONTRACKING_H
2 #define SILICONTRACKING_H 1
3 
4 #include "marlin/Processor.h"
5 #include "lcio.h"
6 #include <string>
7 #include <vector>
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"
14 
15 using namespace lcio ;
16 using namespace marlin ;
17 
18 
179 class SiliconTracking : public Processor {
180 
181  public:
182 
183  virtual Processor* newProcessor() { return new SiliconTracking ; }
184 
185 
186  SiliconTracking() ;
187 
191  virtual void init() ;
192 
195  virtual void processRunHeader( LCRunHeader* run ) ;
196 
199  virtual void processEvent( LCEvent * evt ) ;
200 
201 
202  virtual void check( LCEvent * evt ) ;
203 
204 
207  virtual void end() ;
208 
209 
210  protected:
211 
212  int _nRun ;
213  int _nEvt ;
214 
215  int _nDivisionsInPhi;
216  int _nDivisionsInTheta;
217  int _nLayers;
218 
219  int _nLayersFTD;
220  int _nLayersVTX;
221  int _nLayersSIT;
222  int _nPhiFTD;
223 
224  std::string _VTXHitCollection;
225  std::string _FTDHitCollection;
226  std::string _SITHitCollection;
227  std::string _siTrkCollection;
228  std::string _siTrkMCPCollection;
229 
230  std::vector<TrackerHitExtendedVec> _sectors;
231  std::vector<TrackerHitExtendedVec> _sectorsFTD;
232 
233  TrackExtendedVec _tracks5Hits;
234  TrackExtendedVec _tracks4Hits;
235  TrackExtendedVec _tracks3Hits;
236 
237  int InitialiseVTX(LCEvent * evt);
238  int InitialiseFTD(LCEvent * evt);
239  void ProcessOneSector(int iSectorPhi, int iSectorTheta);
240  void CleanUp();
241  TrackExtended * TestTriplet(TrackerHitExtended * outerHit,
242  TrackerHitExtended * middleHit,
243  TrackerHitExtended * innerHit,
244  HelixClass & helix);
245  int BuildTrack(TrackerHitExtended * outerHit,
246  TrackerHitExtended * middleHit,
247  TrackerHitExtended * innerHit,
248  HelixClass & helix,
249  int innerlayer,
250  int iPhiLow, int iPhiUp,
251  int iTheta, int iThetaUp,
252  TrackExtended * trackAR);
253 
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);
263  void FinalRefit();
264 
265  float _bField;
266  float _chi2WRPhiTriplet;
267  float _chi2WRPhiQuartet;
268  float _chi2WRPhiSeptet;
269  float _chi2WZTriplet;
270  float _chi2WZQuartet;
271  float _chi2WZSeptet;
272  float _minDistCutAttach;
273  int _minimalLayerToAttach;
274 
275  double PI,TWOPI,PIOVER2;
276  double _dPhi;
277  double _dTheta;
278  double _dPhiFTD;
279 
280  int _debug;
281 
282  std::vector<float> _zLayerFTD;
283  std::vector<int> _Combinations;
284  std::vector<int> _CombinationsFTD;
285 
286  float _resolutionRPhiVTX;
287  float _resolutionZVTX;
288 
289  float _resolutionRPhiFTD;
290  float _resolutionZFTD;
291 
292  float _resolutionRPhiSIT;
293  float _resolutionZSIT;
294 
295  float _phiCutForMerging;
296  float _tanlambdaCutForMerging;
297  float _angleCutForMerging;
298 
299  int _print;
300  int _checkForDelta;
301  float _minDistToDelta;
302 
303  float _distRPhi;
304  float _distZ;
305  float _chi2FitCut;
306 
307  float _chi2PrefitCut;
308 
309  TrackExtendedVec _trackImplVec;
310 
311  float _cutOnD0, _cutOnZ0, _cutOnOmega, _cutOnPt;
312 
313  int _minimalHits;
314  int _attachFast;
315 
316  int _nTotalVTXHits,_nTotalFTDHits,_nTotalSITHits;
317  int _optFit,_simpleHelixFit;
318  int _useSIT;
319  int _finalRefit;
320  int _createMap;
321  int _useExtraPoint;
322  MarlinTrackFit _trackFit;
323 
324 
325 } ;
326 
327 #endif
328 
329 
330 
=== Silicon Tracking Processor === Processor performing stand-alone pattern recognition in the vert...
Definition: SiliconTracking.h:179
Definition: MarlinTrackFit.h:26