00001 00034 #ifndef _LI_PATTERN_FINDER_SIMPLE_H_ 00035 #define _LI_PATTERN_FINDER_SIMPLE_H_ 00036 00037 #include <vector> 00038 00039 #include "CandDigit/CandDigitHandle.h" 00040 #include "CandDigit/CandDigitListHandle.h" 00041 00042 #include "LIPatternFinder.h" 00043 00044 using std::vector; 00045 00046 class LIPatternFinderSimple : public LIPatternFinder 00047 { 00048 public: 00049 00050 LIPatternFinderSimple(); 00051 ~LIPatternFinderSimple(); 00052 00053 void DefaultConfig (void); 00054 void Configure (const Registry & registry); 00055 bool IsLightInjectionTrash (CandDigitListHandle * cdlh); 00056 00057 private: 00058 00059 double GetEWAsymmetry( 00060 const vector<CandDigitHandle *> & digits) const; 00061 00062 double GetTotalCharge( 00063 const vector<CandDigitHandle *> & digits) const; 00064 00065 vector<double> ActivityBetweenCrateBoundaries( 00066 const vector<CandDigitHandle *> & digits) const; 00067 00068 double FractionOfActivePlanesInRange(int pl_min, int pl_max, 00069 const vector<CandDigitHandle *> & digits) const; 00070 00071 void PrintSnarl( 00072 const vector<CandDigitHandle *> & digits) const; 00073 00074 double fMaxEWAsymmetry; // maximum allowed EAST-WEST asymmetry 00075 double fPulseHeightThreshold; // pulse height threshold 00076 double fMaxNDigits; // maximum allowed number of digits 00077 double fMaxCharge; // maximum allowed pulsed height 00078 double fHighActivityThreshold; 00079 double fLowActivityThreshold; 00080 00081 ClassDef(LIPatternFinderSimple, 0) // simple algorithm for LI pattern matching 00082 }; 00083 00084 #endif // _SIMPLE_LI_PATTERN_FINDER_H_
1.3.9.1