Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:59:10

0001 #ifndef CalibrationIsolatedParticlesFindDistCone_h
0002 #define CalibrationIsolatedParticlesFindDistCone_h
0003 
0004 // system include files
0005 #include <memory>
0006 #include <cmath>
0007 #include <string>
0008 #include <map>
0009 #include <vector>
0010 
0011 // user include files
0012 #include "FWCore/Framework/interface/Frameworkfwd.h"
0013 
0014 #include "DataFormats/Common/interface/Handle.h"
0015 
0016 #include "DataFormats/Candidate/interface/Candidate.h"
0017 
0018 #include "DataFormats/DetId/interface/DetId.h"
0019 #include "DataFormats/EcalDetId/interface/EBDetId.h"
0020 #include "DataFormats/EcalDetId/interface/EEDetId.h"
0021 #include "DataFormats/HcalDetId/interface/HcalDetId.h"
0022 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
0023 #include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h"
0024 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
0025 #include "DataFormats/GeometryVector/interface/GlobalVector.h"
0026 
0027 #include "SimDataFormats/CaloHit/interface/PCaloHitContainer.h"
0028 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
0029 
0030 #include <cmath>
0031 
0032 namespace spr {
0033 
0034   // Cone clustering core
0035   double getDistInPlaneTrackDir(const GlobalPoint& caloPoint,
0036                                 const GlobalVector& caloVector,
0037                                 const GlobalPoint& rechitPoint,
0038                                 bool debug = false);
0039 
0040   // Not used, but here for reference
0041   double getDistInCMatEcal(double eta1, double phi1, double eta2, double phi2, bool debug = false);
0042   double getDistInCMatHcal(double eta1, double phi1, double eta2, double phi2, bool debug = false);
0043 
0044   // get eta, phi, energy of rechits in collection
0045   void getEtaPhi(HBHERecHitCollection::const_iterator hit,
0046                  std::vector<int>& RH_ieta,
0047                  std::vector<int>& RH_iphi,
0048                  std::vector<double>& RH_ene,
0049                  bool debug = false);
0050 
0051   void getEtaPhi(edm::PCaloHitContainer::const_iterator hit,
0052                  std::vector<int>& RH_ieta,
0053                  std::vector<int>& RH_iphi,
0054                  std::vector<double>& RH_ene,
0055                  bool debug = false);
0056 
0057   void getEtaPhi(EcalRecHitCollection::const_iterator hit,
0058                  std::vector<int>& RH_ieta,
0059                  std::vector<int>& RH_iphi,
0060                  std::vector<double>& RH_ene,
0061                  bool debug = false);
0062 
0063   // get eta, phi of rechits in collection
0064   void getEtaPhi(HBHERecHitCollection::const_iterator hit, int& ieta, int& iphi, bool debug = false);
0065   void getEtaPhi(edm::PCaloHitContainer::const_iterator hit, int& ieta, int& iphi, bool debug = false);
0066   void getEtaPhi(EcalRecHitCollection::const_iterator hit, int& ieta, int& iphi, bool debug = false);
0067 
0068   double getEnergy(HBHERecHitCollection::const_iterator hit, int useRaw = 0, bool debug = false);
0069   double getEnergy(edm::PCaloHitContainer::const_iterator hit, int useRaw = 0, bool debug = false);
0070   double getEnergy(EcalRecHitCollection::const_iterator hit, int useRaw = 0, bool debug = false);
0071 
0072   GlobalPoint getGpos(const CaloGeometry* geo, HBHERecHitCollection::const_iterator hit, bool debug = false);
0073   GlobalPoint getGpos(const CaloGeometry* geo, edm::PCaloHitContainer::const_iterator hit, bool debug = false);
0074   GlobalPoint getGpos(const CaloGeometry* geo, EcalRecHitCollection::const_iterator hit, bool debug = false);
0075 
0076   double getRawEnergy(HBHERecHitCollection::const_iterator hit, int useRaw = 0);
0077   double getRawEnergy(edm::PCaloHitContainer::const_iterator hit, int useRaw = 0);
0078   double getRawEnergy(EcalRecHitCollection::const_iterator hit, int useRaw = 0);
0079 
0080 }  // namespace spr
0081 
0082 #endif