CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC2/src/RecoLocalCalo/EcalRecAlgos/interface/EcalCleaningAlgo.h

Go to the documentation of this file.
00001 
00010 #ifndef __EcalCleaningAlgo_h_
00011 #define __EcalCleaningAlgo_h_
00012 
00013 
00014 #include "FWCore/Framework/interface/Frameworkfwd.h"
00015 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" 
00016 #include "DataFormats/EcalRecHit/interface/EcalRecHit.h" 
00017 #include <vector>
00018 
00019 class DetId;
00020 
00021 
00022 class EcalCleaningAlgo{
00023 
00024 
00025 public:
00026   
00027   EcalCleaningAlgo(const edm::ParameterSet& p);
00028   
00033   EcalRecHit::Flags checkTopology(const DetId& id,
00034                                   const EcalRecHitCollection& rhs);
00035 
00036   void setFlags(EcalRecHitCollection& rhs);
00037   
00038 private:
00039   
00041   float e4e1(const DetId& id, const EcalRecHitCollection& rhs);
00042 
00051   float e6e2 (const DetId& id, const EcalRecHitCollection& rhs);
00052 
00053   float recHitE( const DetId id, 
00054                  const EcalRecHitCollection &recHits,
00055                  bool  useTimingInfo);
00056   
00058   bool isNearCrack(const DetId& detid);
00059 
00061   const std::vector<DetId> neighbours(const DetId& id);
00062 
00064   float ignoreOutOfTimeThresh_;
00065 
00066   // Parameters for tolopogical cut 
00067   // mark anomalous if e> cThreshold &&  e4e1> a*log10(e1e1)+b
00068   float cThreshold_barrel_;
00069   float cThreshold_endcap_;         
00070   float e4e1_a_barrel_;
00071   float e4e1_b_barrel_;
00072   float e4e1_a_endcap_;
00073   float e4e1_b_endcap_;
00074   // when calculating e4/e1, ignore hits below this threshold
00075   float e4e1Treshold_barrel_;
00076   float e4e1Treshold_endcap_;
00077   float tightenCrack_e1_single_;
00078   float tightenCrack_e4e1_single_;
00079   float cThreshold_double_;
00080   float tightenCrack_e1_double_;
00081   float tightenCrack_e6e2_double_;
00082   float e6e2thresh_;
00083 
00084 };
00085 
00086 #endif // __EcalCleaningAlgo_h_
00087 
00088 // Configure (x)emacs for this file ...
00089 // Local Variables:
00090 // mode:c++
00091 // compile-command: "make -C .. -k"
00092 // End: