CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch2/src/RecoEcal/EgammaCoreTools/interface/Mustache.h

Go to the documentation of this file.
00001 #ifndef RecoEcal_EgammaCoreTools_Mustache_h
00002 #define RecoEcal_EgammaCoreTools_Mustache_h
00003 
00004 #include <vector>
00005 #include "DataFormats/CaloRecHit/interface/CaloCluster.h"
00006 #include "DataFormats/CaloRecHit/interface/CaloClusterFwd.h"
00007 #include "DataFormats/EgammaReco/interface/SuperCluster.h"
00008 
00009 namespace reco {
00010 
00011   class Mustache {
00012   public:
00013     void MustacheID(CaloClusterPtrVector& clusters, int & nclusters, float & EoutsideMustache);
00014     void MustacheID(std::vector<const CaloCluster*>, int & nclusers,float & EoutsideMustache); 
00015     void MustacheID(const reco::SuperCluster& sc, int & nclusters, float & EoutsideMustache);
00016     void MustacheClust(std::vector<CaloCluster>clusters, std::vector<unsigned int>& insideMust, std::vector<unsigned int>& outsideMust);
00017     void FillMustacheVar(std::vector<CaloCluster>clusters);
00018     //return Functions for Mustache Variables:
00019     float MustacheE(){return Energy_In_Mustache_;}
00020     float MustacheEOut(){return Energy_Outside_Mustache_;}
00021     float MustacheEtOut(){return Et_Outside_Mustache_;}
00022     float LowestMustClust(){return LowestClusterEInMustache_;}
00023     int InsideMust(){return included_;}
00024     int OutsideMust(){return excluded_;}
00025   private:
00026     float Energy_In_Mustache_;
00027     float Energy_Outside_Mustache_;
00028     float Et_Outside_Mustache_;
00029     float LowestClusterEInMustache_;
00030     int excluded_;
00031     int included_;
00032   };
00033 
00034   
00035 }
00036 
00037 #endif