//======================================================================== // PVFinder.hh // ----------- // AC++ module to find primary vertices. Currently a test version using // SiliconPVMonger + FPVStrategy to find vertices. // // R. Snider // Johns Hopkins University // 21-Sep-1997 //======================================================================== #ifndef PVFinder_hh #define PVFinder_hh 1 #include "Framework/APPModule.hh" #include "Framework/AbsParmBool.hh" #include "Framework/AbsParmGeneral.hh" #include "Framework/AbsParmString.hh" #include "Framework/APPMenu.hh" class SiliconPVMonger; class PVIntermedSet; class KalConverter; class PVKalFinder; class PVFinder : public AppModule { public: //--------------------------------------------------- // Constructors, etc. //--------------------------------------------------- PVFinder( const char* const theName="PVFinder", const char* const theDescription= "Pre-tracking primary vertex-finding"); virtual ~PVFinder(); //--------------------------------------------------- // Operations //--------------------------------------------------- virtual AppResult beginJob( AbsEvent* aJob ); virtual AppResult beginRun( AbsEvent* aRun ); virtual AppResult event( AbsEvent* anEvent ); virtual AppResult endRun( AbsEvent* aRun ); virtual AppResult endJob( AbsEvent* aJob ); virtual AppResult abortJob( AbsEvent* aJob ); virtual AppModule* clone(const char* cloneName); protected: AbsParmBool _ttSAS3DPVFinder; AbsParmBool _ttSAS3DPVFinderUseZigZag; AbsParmBool _ttSAS3DPVFinderUseSiliMap; AbsParmGeneral _ttSAS3DPopulationCut; AbsParmGeneral _ttSAS3DThresholdQ2; AbsParmGeneral _ttSAS3DThresholdQ3; AbsParmGeneral _ttSAS3DThresholdCutQ1; AbsParmGeneral _ttSAS3DMinThreshold; AbsParmGeneral _ttSAS3DFallBackThreshold; AbsParmGeneral _ttSAS3DNBins; AbsParmGeneral _ttSAS3DVerboseLevel; AbsParmGeneral _ttSAS3DDeltaPhiSection; AbsParmBool _useTrueVertices; AbsParmString _processName; // // Configuration of timeout and out of memory // cuts. // // This was introduced to minimize production farm crashes. It is // dangerous, however, since it makes program behaviour implicitely // dependent on the hardware in a new fashion. (The old fashioned // dependence epresses itself in crashes due to resource exhaustion // on rare offending events.) // // Developers: default is 'off' -- keep it that way! // For users: only enable this when you know what you are doing. // AbsParmBool _ttSAS3DLimitCpuTime; // [s] AbsParmGeneral _ttSAS3DMaxCpuTime; AbsParmBool _ttSAS3DLimitRealTime; // [s] AbsParmGeneral _ttSAS3DMaxRealTime; AbsParmBool _ttSAS3DLimitMemory; // [MB] AbsParmGeneral _ttSAS3DMaxMemory; private: KalConverter* _kalConverter; PVKalFinder* _SAS3DPVFinder; //---------------------------------------------------- // Accounting //---------------------------------------------------- int anzahl[100]; int zahl; int _nev; }; #endif // PVFinder_hh