Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:04:44

0001 #ifndef DATAFORMATS_METRECO_HALOCLUSTERCANDIDATEECAL_H
0002 #define DATAFORMATS_METRECO_HALOCLUSTERCANDIDATEECAL_H
0003 
0004 #include "DataFormats/DetId/interface/DetId.h"
0005 #include "DataFormats/EcalDetId/interface/EcalSubdetector.h"
0006 #include "DataFormats/EcalDetId/interface/EBDetId.h"
0007 #include "DataFormats/EcalDetId/interface/EEDetId.h"
0008 #include "DataFormats/HcalRecHit/interface/HBHERecHit.h"
0009 #include "DataFormats/GeometrySurface/interface/Cylinder.h"
0010 #include "DataFormats/GeometrySurface/interface/Plane.h"
0011 #include "DataFormats/GeometrySurface/interface/Cone.h"
0012 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
0013 #include "DataFormats/GeometryVector/interface/GlobalVector.h"
0014 #include "DataFormats/GeometryVector/interface/LocalPoint.h"
0015 #include "DataFormats/GeometryVector/interface/LocalVector.h"
0016 #include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h"
0017 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
0018 #include "DataFormats/Math/interface/deltaPhi.h"
0019 
0020 namespace reco {
0021   class HaloClusterCandidateECAL {
0022   public:
0023     HaloClusterCandidateECAL();
0024     ~HaloClusterCandidateECAL() {}
0025 
0026     double getClusterEt() const { return et; }
0027     double getSeedEt() const { return seed_et; }
0028     double getSeedEta() const { return seed_eta; }
0029     double getSeedPhi() const { return seed_phi; }
0030     double getSeedZ() const { return seed_Z; }
0031     double getSeedR() const { return seed_R; }
0032     double getSeedTime() const { return seed_time; }
0033     double getTimeDiscriminator() const { return timediscriminator; }
0034     bool getIsHaloFromPattern() const { return ishalofrompattern; }
0035     bool getIsHaloFromPattern_HLT() const { return ishalofrompattern_hlt; }
0036     const edm::RefVector<EcalRecHitCollection>& getBeamHaloRecHitsCandidates() const { return bhrhcandidates; }
0037 
0038     //Specific to EB:
0039     double getEtStripIPhiSeedPlus1() const { return etstrip_iphiseedplus1; }
0040     double getEtStripIPhiSeedMinus1() const { return etstrip_iphiseedminus1; }
0041     double getHoverE() const { return hovere; }
0042     int getNbofCrystalsInEta() const { return numberofcrystalsineta; }
0043     //Specific to EE:
0044     double getH2overE() const { return h2overe; }
0045     int getNbEarlyCrystals() const { return nbearlycrystals; }
0046     int getNbLateCrystals() const { return nblatecrystals; }
0047     int getClusterSize() const { return clustersize; }
0048 
0049     void setClusterEt(double x) { et = x; }
0050     void setSeedEt(double x) { seed_et = x; }
0051     void setSeedEta(double x) { seed_eta = x; }
0052     void setSeedPhi(double x) { seed_phi = x; }
0053     void setSeedZ(double x) { seed_Z = x; }
0054     void setSeedR(double x) { seed_R = x; }
0055     void setSeedTime(double x) { seed_time = x; }
0056     void setTimeDiscriminator(double x) { timediscriminator = x; }
0057     void setIsHaloFromPattern(bool x) { ishalofrompattern = x; }
0058     void setIsHaloFromPattern_HLT(bool x) { ishalofrompattern_hlt = x; }
0059     void setBeamHaloRecHitsCandidates(edm::RefVector<EcalRecHitCollection> x) { bhrhcandidates = x; }
0060     //Specific to EB:
0061     void setEtStripIPhiSeedPlus1(double x) { etstrip_iphiseedplus1 = x; }
0062     void setEtStripIPhiSeedMinus1(double x) { etstrip_iphiseedminus1 = x; }
0063     void setHoverE(double x) { hovere = x; }
0064     void setNbofCrystalsInEta(double x) { numberofcrystalsineta = x; }
0065     //Specific to EE:
0066     void setH2overE(double x) { h2overe = x; }
0067     void setNbEarlyCrystals(int x) { nbearlycrystals = x; }
0068     void setNbLateCrystals(int x) { nblatecrystals = x; }
0069     void setClusterSize(int x) { clustersize = x; }
0070 
0071   private:
0072     double et;
0073     double seed_et, seed_eta, seed_phi, seed_Z, seed_R, seed_time;
0074     double timediscriminator;
0075     bool ishalofrompattern;
0076     bool ishalofrompattern_hlt;
0077     //Specific to EB:
0078     double hovere;
0079     int numberofcrystalsineta;
0080     double etstrip_iphiseedplus1, etstrip_iphiseedminus1;
0081     //Specific to EE:
0082     double h2overe;
0083     int nbearlycrystals, nblatecrystals, clustersize;
0084 
0085     edm::RefVector<EcalRecHitCollection> bhrhcandidates;
0086   };
0087   typedef std::vector<HaloClusterCandidateECAL> HaloClusterCandidateECALCollection;
0088 }  // namespace reco
0089 #endif