1 #ifndef SILICONTRACKINGCLIC_H 
    2 #define SILICONTRACKINGCLIC_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;
 
  223   int _maxNumberOfFTDCombinations;
 
  226   std::string _VTXHitCollection;
 
  227   std::string _FTDHitCollection;
 
  228   std::string _SITHitCollection;
 
  229   std::string _siTrkCollection;
 
  230   std::string _siTrkMCPCollection;
 
  232   std::vector<TrackerHitExtendedVec> _sectors;
 
  233   std::vector<TrackerHitExtendedVec> _sectorsFTD;
 
  235   TrackExtendedVec _tracks12Hits;
 
  236   TrackExtendedVec _tracks11Hits;
 
  237   TrackExtendedVec _tracks10Hits;
 
  238   TrackExtendedVec _tracks9Hits;
 
  239   TrackExtendedVec _tracks8Hits;
 
  240   TrackExtendedVec _tracks7Hits; 
 
  241   TrackExtendedVec _tracks6Hits;
 
  242   TrackExtendedVec _tracks5Hits;
 
  243   TrackExtendedVec _tracks4Hits;
 
  244   TrackExtendedVec _tracks3Hits;
 
  246   int InitialiseVTX(LCEvent * evt);
 
  247   int InitialiseFTD(LCEvent * evt);
 
  248   void ProcessOneSector(
int iSectorPhi, 
int iSectorTheta);
 
  250   TrackExtended * TestTriplet(TrackerHitExtended * outerHit, 
 
  251                               TrackerHitExtended * middleHit,
 
  252                               TrackerHitExtended * innerHit,
 
  254   int BuildTrack(TrackerHitExtended * outerHit, 
 
  255                  TrackerHitExtended * middleHit,
 
  256                  TrackerHitExtended * innerHit,
 
  259                  int iPhiLow, 
int iPhiUp,
 
  260                  int iTheta, 
int iThetaUp,
 
  261                  TrackExtended * trackAR);
 
  263   void Sorting( TrackExtendedVec & trackVec);
 
  264   void CreateTrack(TrackExtended * trackAR );
 
  265   void AttachRemainingVTXHitsSlow();
 
  266   void AttachRemainingFTDHitsSlow();
 
  267   void AttachRemainingVTXHitsFast();
 
  268   void AttachRemainingFTDHitsFast();
 
  269   void TrackingInFTD();
 
  270   int BuildTrackFTD(TrackExtended * trackAR, 
int * nLR, 
int iS);
 
  271   int AttachHitToTrack(TrackExtended * trackAR, TrackerHitExtended * hit);
 
  275   float _chi2WRPhiTriplet;
 
  276   float _chi2WRPhiQuartet;
 
  277   float _chi2WRPhiSeptet;
 
  278   float _chi2WZTriplet;
 
  279   float _chi2WZQuartet;
 
  281   float _minDistCutAttach;
 
  282   int _minimalLayerToAttach;
 
  284   double PI,TWOPI,PIOVER2;
 
  291   std::vector<float> _zLayerFTD;
 
  292   std::vector<int> _Combinations;
 
  293   std::vector<int> _CombinationsFTD;
 
  295   float _resolutionRPhiVTX;
 
  296   float _resolutionZVTX;
 
  298   float _resolutionRPhiFTD;
 
  299   float _resolutionZFTD;
 
  301   float _resolutionRPhiSIT;
 
  302   float _resolutionZSIT;
 
  304   float _phiCutForMerging;
 
  305   float _tanlambdaCutForMerging;
 
  306   float _angleCutForMerging;
 
  310   float _minDistToDelta;
 
  316   float _chi2PrefitCut;
 
  318   TrackExtendedVec _trackImplVec;
 
  320   float _cutOnD0, _cutOnZ0, _cutOnOmega, _cutOnPt;
 
  325   int _nTotalVTXHits,_nTotalFTDHits,_nTotalSITHits;
 
  326   int _optFit,_simpleHelixFit;
 
  334 inline int min(
int a,
int b) {
 
  339 inline int max(
int a,
int b) {
 
  344 inline int abs(
int x) {
 
Definition: MarlinTrackFit.h:26
 
=== Silicon Tracking Processor ===   Processor performing stand-alone pattern recognition in the vert...
Definition: SiliconTrackingCLIC.h:179