#include "Utilities/Configuration/interface/Architecture.h" #include "Utilities/Notification/interface/Observer.h" // SimEvent #include "TrackerReco/TkEvent/interface/TkRecEventFromCarf.h" #include "TrackerReco/TkEvent/interface/TkSimEvent.h" // RecQuery #include "CARF/Reco/interface/RecQuery.h" #include "CARF/Reco/interface/RecConfig.h" // Algo #include "CARF/Reco/interface/RecAlgorithm.h" #include "CARF/Reco/interface/ConfigAlgorithm.h" #include "CARF/Reco/interface/ConfigAlgoFactory.h" // CMS Tracker #include "Tracker/TkLayout/interface/FullTracker.h" #include "Tracker/TkLayout/interface/CmsTracker.h" #include "CommonDet/BasicDet/interface/Det.h" #include "CommonDet/BasicDet/interface/DetUnit.h" #include "CommonDet/BasicDet/interface/DetType.h" #include "CommonDet/BasicDet/interface/RecHit.h" #include "CommonDet/DetLayout/interface/DetLayer.h" // PixelTrackFinder #include "CommonReco/PatternTools/interface/RecTrack.h" #include "TrackerReco/PixelTrackFinder/interface/PixelRecTrack.h" #include "TrackerReco/PixelTrackFinder/interface/PixelTrackFinderReco.h" #include "TrackerReco/TkTrackingRegions/interface/GlobalTrackingRegion.h" // Iostream #include #include /////////////////////////////////////////////////////////////////////////////// class TestTkHitTriplets : public Observer { public: TestTkHitTriplets() : theReco(0) { init(); /* initSetUp(); */ } ~TestTkHitTriplets() { delete theReco; } virtual void upDate (TkSimEvent* simEvent) { if (simEvent!=0) analysis(simEvent); } virtual void analysis(TkSimEvent* simEvent); private: PixelTrackFinderReco *theReco; }; /////////////////////////////////////////////////////////////////////////////// void TestTkHitTriplets::analysis(TkSimEvent* simEvent) { // First call if (!theReco) { RecQuery qPTF("PixelTrackFinderReco"); theReco = createAlgo(qPTF); } const G3EventProxy* ev = simEvent->G3eventProxy(); // Event info cerr << "#################################################" << endl; cerr << "Run " << ev->simSignal()->id().runNumber() << " Event " << ev->simSignal()->id().eventInRun() << endl; // Find tracks float ptMin = 0.100; float originRadius = 0.2; float originHalfLength = 15.; float originZPos = 0.; bool precise = false; fprintf(stderr," Find tracks (originRadius = %.2fcm)\n", originRadius); GlobalTrackingRegion region (ptMin,originRadius,originHalfLength,originZPos,precise); vector recTracks = theReco->tracks(region); cerr << " Rec tracks = " << recTracks.size() << endl; } /////////////////////////////////////////////////////////////////////////////// #include "Utilities/Notification/interface/PackageInitializer.h" PKBuilder eventAnalyser("TestTkHitTriplets");