Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
#ifndef CalibrationIsolatedParticlesFindDistCone_h
#define CalibrationIsolatedParticlesFindDistCone_h

// system include files
#include <memory>
#include <cmath>
#include <string>
#include <map>
#include <vector>

// user include files
#include "FWCore/Framework/interface/Frameworkfwd.h"

#include "DataFormats/Common/interface/Handle.h"

#include "DataFormats/Candidate/interface/Candidate.h"

#include "DataFormats/DetId/interface/DetId.h"
#include "DataFormats/EcalDetId/interface/EBDetId.h"
#include "DataFormats/EcalDetId/interface/EEDetId.h"
#include "DataFormats/HcalDetId/interface/HcalDetId.h"
#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
#include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h"
#include "DataFormats/GeometryVector/interface/GlobalPoint.h"
#include "DataFormats/GeometryVector/interface/GlobalVector.h"

#include "SimDataFormats/CaloHit/interface/PCaloHitContainer.h"
#include "Geometry/CaloGeometry/interface/CaloGeometry.h"

#include <cmath>

namespace spr {

  // Cone clustering core
  double getDistInPlaneTrackDir(const GlobalPoint& caloPoint,
                                const GlobalVector& caloVector,
                                const GlobalPoint& rechitPoint,
                                bool debug = false);

  // Not used, but here for reference
  double getDistInCMatEcal(double eta1, double phi1, double eta2, double phi2, bool debug = false);
  double getDistInCMatHcal(double eta1, double phi1, double eta2, double phi2, bool debug = false);

  // get eta, phi, energy of rechits in collection
  void getEtaPhi(HBHERecHitCollection::const_iterator hit,
                 std::vector<int>& RH_ieta,
                 std::vector<int>& RH_iphi,
                 std::vector<double>& RH_ene,
                 bool debug = false);

  void getEtaPhi(edm::PCaloHitContainer::const_iterator hit,
                 std::vector<int>& RH_ieta,
                 std::vector<int>& RH_iphi,
                 std::vector<double>& RH_ene,
                 bool debug = false);

  void getEtaPhi(EcalRecHitCollection::const_iterator hit,
                 std::vector<int>& RH_ieta,
                 std::vector<int>& RH_iphi,
                 std::vector<double>& RH_ene,
                 bool debug = false);

  // get eta, phi of rechits in collection
  void getEtaPhi(HBHERecHitCollection::const_iterator hit, int& ieta, int& iphi, bool debug = false);
  void getEtaPhi(edm::PCaloHitContainer::const_iterator hit, int& ieta, int& iphi, bool debug = false);
  void getEtaPhi(EcalRecHitCollection::const_iterator hit, int& ieta, int& iphi, bool debug = false);

  double getEnergy(HBHERecHitCollection::const_iterator hit, int useRaw = 0, bool debug = false);
  double getEnergy(edm::PCaloHitContainer::const_iterator hit, int useRaw = 0, bool debug = false);
  double getEnergy(EcalRecHitCollection::const_iterator hit, int useRaw = 0, bool debug = false);

  GlobalPoint getGpos(const CaloGeometry* geo, HBHERecHitCollection::const_iterator hit, bool debug = false);
  GlobalPoint getGpos(const CaloGeometry* geo, edm::PCaloHitContainer::const_iterator hit, bool debug = false);
  GlobalPoint getGpos(const CaloGeometry* geo, EcalRecHitCollection::const_iterator hit, bool debug = false);

  double getRawEnergy(HBHERecHitCollection::const_iterator hit, int useRaw = 0);
  double getRawEnergy(edm::PCaloHitContainer::const_iterator hit, int useRaw = 0);
  double getRawEnergy(EcalRecHitCollection::const_iterator hit, int useRaw = 0);

}  // namespace spr

#endif