1 #ifndef TrackSubsetProcessor_h
2 #define TrackSubsetProcessor_h 1
5 #include "marlin/Processor.h"
7 #include "EVENT/Track.h"
8 #include "MarlinTrk/IMarlinTrkSystem.h"
10 #include "Math/ProbFunc.h"
15 using namespace lcio ;
16 using namespace marlin ;
68 virtual void processRunHeader( LCRunHeader* run ) ;
72 virtual void processEvent( LCEvent * evt ) ;
75 virtual void check( LCEvent * evt ) ;
88 void removeShortTracks( std::vector< EVENT::Track*>& tracks ) ;
97 MarlinTrk::IMarlinTrkSystem* _trkSystem;
98 std::string _trkSystemName ;
103 bool _removeShortTracks ;
106 float _initialTrackError_d0;
107 float _initialTrackError_phi0;
108 float _initialTrackError_omega;
109 float _initialTrackError_z0;
110 float _initialTrackError_tanL;
112 double _maxChi2PerHit;
131 inline bool operator()( Track* trackA, Track* trackB ){
134 std::vector< TrackerHit* > hitsA = trackA->getTrackerHits();
135 std::vector< TrackerHit* > hitsB = trackB->getTrackerHits();
138 for(
unsigned i=0; i < hitsA.size(); i++){
140 for(
unsigned j=0; j < hitsB.size(); j++){
142 if ( hitsA[i] == hitsB[j] )
return false;
163 TrackQI( MarlinTrk::IMarlinTrkSystem* trkSystem ): _trkSystem(trkSystem){}
165 inline double operator()( Track* track ){
167 return ROOT::Math::chisquared_cdf_c( track->getChi2() , track->getNdf() );
174 MarlinTrk::IMarlinTrkSystem* _trkSystem;
Processor that takes tracks from multiple sources and outputs them (or modified versions, or a subset of them) as one track collection.
Definition: TrackSubsetProcessor.h:52
TrackQI(MarlinTrk::IMarlinTrkSystem *trkSystem)
Definition: TrackSubsetProcessor.h:163
std::string _trackOutputColName
Output collection name.
Definition: TrackSubsetProcessor.h:95
A functor to return the quality of a track, which is the ratio chi2 over degrees of freedom...
Definition: CellsAutomatonMV.h:335
std::vector< std::string > _trackInputColNames
Input collection names.
Definition: TrackSubsetProcessor.h:92
A functor to return whether two tracks are compatible: The criterion is if the share a TrackerHit or ...
Definition: TrackSubsetProcessor.h:125