CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Mustache.h
Go to the documentation of this file.
1 #ifndef RecoEcal_EgammaCoreTools_Mustache_h
2 #define RecoEcal_EgammaCoreTools_Mustache_h
3 
4 #include <vector>
10 
11 namespace reco {
12  namespace MustacheKernel {
14  const float maxEta,
15  const float maxPhi,
16  const float ClustE,
17  const float ClusEta,
18  const float ClusPhi);
20  const float seedEta,
21  const float seedPhi,
22  const float ClustE,
23  const float ClusEta,
24  const float clusPhi);
25 
26  } // namespace MustacheKernel
27 
28  class Mustache {
29  public:
30  Mustache(const EcalMustacheSCParameters* mustache_params);
31 
32  void MustacheID(const CaloClusterPtrVector& clusters, int& nclusters, float& EoutsideMustache);
33  void MustacheID(const std::vector<const CaloCluster*>&, int& nclusers, float& EoutsideMustache);
34  void MustacheID(const reco::SuperCluster& sc, int& nclusters, float& EoutsideMustache);
35 
36  void MustacheClust(const std::vector<CaloCluster>& clusters,
37  std::vector<unsigned int>& insideMust,
38  std::vector<unsigned int>& outsideMust);
39 
40  void FillMustacheVar(const std::vector<CaloCluster>& clusters);
41  //return Functions for Mustache Variables:
42  float MustacheE() { return Energy_In_Mustache_; }
44  float MustacheEtOut() { return Et_Outside_Mustache_; }
46  int InsideMust() { return included_; }
47  int OutsideMust() { return excluded_; }
48 
49  private:
50  template <class RandomAccessPtrIterator>
51  void MustacheID(const RandomAccessPtrIterator&,
52  const RandomAccessPtrIterator&,
53  int& nclusters,
54  float& EoutsideMustache);
55 
60  int excluded_;
61  int included_;
63  };
64 
65 } // namespace reco
66 
67 #endif
float MustacheEOut()
Definition: Mustache.h:43
void MustacheID(const CaloClusterPtrVector &clusters, int &nclusters, float &EoutsideMustache)
Definition: Mustache.cc:95
void MustacheClust(const std::vector< CaloCluster > &clusters, std::vector< unsigned int > &insideMust, std::vector< unsigned int > &outsideMust)
Definition: Mustache.cc:143
float Energy_In_Mustache_
Definition: Mustache.h:56
Mustache(const EcalMustacheSCParameters *mustache_params)
Definition: Mustache.cc:89
int OutsideMust()
Definition: Mustache.h:47
double maxEta
bool inMustache(const EcalMustacheSCParameters *params, const float maxEta, const float maxPhi, const float ClustE, const float ClusEta, const float ClusPhi)
Definition: Mustache.cc:8
float LowestMustClust()
Definition: Mustache.h:45
float LowestClusterEInMustache_
Definition: Mustache.h:59
float MustacheEtOut()
Definition: Mustache.h:44
float Et_Outside_Mustache_
Definition: Mustache.h:58
int InsideMust()
Definition: Mustache.h:46
bool inDynamicDPhiWindow(const EcalSCDynamicDPhiParameters *params, const float seedEta, const float seedPhi, const float ClustE, const float ClusEta, const float clusPhi)
Definition: Mustache.cc:64
float Energy_Outside_Mustache_
Definition: Mustache.h:57
const EcalMustacheSCParameters * mustache_params_
Definition: Mustache.h:62
void FillMustacheVar(const std::vector< CaloCluster > &clusters)
Definition: Mustache.cc:178
float MustacheE()
Definition: Mustache.h:42