Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:26:39

0001 // -*- C++ -*-
0002 //
0003 // Package:    METAlgorithms
0004 // Class:      GenSpecificAlgo
0005 //
0006 /**\class GenSpecificAlgo GenSpecificAlgo.h RecoMET/METAlgorithms/interface/GenSpecificAlgo.h
0007 
0008  Description: Adds generator level HEPMC specific information to MET
0009 
0010  Implementation:
0011      [Notes on implementation]
0012 */
0013 //
0014 // Original Authors:  R. Cavanaugh (taken from F.Ratnikov, UMd)
0015 //          Created:  June 6, 2006
0016 //
0017 //
0018 #ifndef METProducers_GenMETInfo_h
0019 #define METProducers_GenMETInfo_h
0020 
0021 //____________________________________________________________________________||
0022 #include "DataFormats/METReco/interface/GenMET.h"
0023 #include "DataFormats/METReco/interface/CommonMETData.h"
0024 #include "DataFormats/Math/interface/LorentzVector.h"
0025 #include "DataFormats/Math/interface/Point3D.h"
0026 #include "DataFormats/METReco/interface/SpecificGenMETData.h"
0027 
0028 //____________________________________________________________________________||
0029 class GenSpecificAlgo {
0030 public:
0031   reco::GenMET addInfo(edm::Handle<edm::View<reco::Candidate> > particles,
0032                        CommonMETData* met,
0033                        double globalThreshold = 0,
0034                        bool onlyFiducial = false,
0035                        bool applyFiducialThresholdForFractions = false,
0036                        bool usePt = false);
0037 
0038 private:
0039   typedef math::XYZTLorentzVector LorentzVector;
0040   typedef math::XYZPoint Point;
0041 
0042   void fillCommonMETData(CommonMETData* met,
0043                          edm::Handle<edm::View<reco::Candidate> >& particles,
0044                          double globalThreshold,
0045                          bool onlyFiducial,
0046                          bool usePt);
0047   SpecificGenMETData mkSpecificGenMETData(edm::Handle<edm::View<reco::Candidate> >& particles,
0048                                           double globalThreshold,
0049                                           bool onlyFiducial,
0050                                           bool applyFiducialThresholdForFractions,
0051                                           bool usePt);
0052 };
0053 
0054 //____________________________________________________________________________||
0055 #endif  // METProducers_GenMETInfo_h