Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:32:06

0001 
0002 #ifndef __LASPROFILEJUDGE_H
0003 #define __LASPROFILEJUDGE_H
0004 
0005 #include <iostream>
0006 #include <utility>
0007 
0008 #include "Alignment/LaserAlignment/interface/LASModuleProfile.h"
0009 
0010 ///
0011 /// check if a LASModuleProfile is usable
0012 /// for being stored and fitted
0013 ///
0014 class LASProfileJudge {
0015 public:
0016   LASProfileJudge();
0017   bool IsSignalIn(const LASModuleProfile&, double);
0018   bool JudgeProfile(const LASModuleProfile&, double);
0019   void EnableZeroFilter(bool);
0020   void SetOverdriveThreshold(unsigned int);
0021 
0022 private:
0023   double GetNegativity(int);
0024   bool IsPeaksInProfile(int);
0025   bool IsNegativePeaksInProfile(int);
0026   bool IsOverdrive(int);
0027 
0028   LASModuleProfile profile;
0029   std::pair<unsigned int, double> thePeak;
0030   bool isZeroFilter;
0031   unsigned int overdriveThreshold;
0032 };
0033 
0034 #endif