Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef DATAFORMATS_METRECO_HALOCLUSTERCANDIDATEHCAL_H
0002 #define DATAFORMATS_METRECO_HALOCLUSTERCANDIDATEHCAL_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/GeometrySurface/interface/Cylinder.h"
0009 #include "DataFormats/GeometrySurface/interface/Plane.h"
0010 #include "DataFormats/GeometrySurface/interface/Cone.h"
0011 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
0012 #include "DataFormats/GeometryVector/interface/GlobalVector.h"
0013 #include "DataFormats/GeometryVector/interface/LocalPoint.h"
0014 #include "DataFormats/GeometryVector/interface/LocalVector.h"
0015 #include "DataFormats/HcalRecHit/interface/HBHERecHit.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 HaloClusterCandidateHCAL {
0022   public:
0023     HaloClusterCandidateHCAL();
0024     ~HaloClusterCandidateHCAL() {}
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     bool getIsHaloFromPattern() const { return ishalofrompattern; }
0034     bool getIsHaloFromPattern_HLT() const { return ishalofrompattern_hlt; }
0035     double getEoverH() const { return eoverh; }
0036     double getEtStripPhiSeedPlus1() const { return etstrip_phiseedplus1; }
0037     double getEtStripPhiSeedMinus1() const { return etstrip_phiseedminus1; }
0038     edm::RefVector<HBHERecHitCollection> getBeamHaloRecHitsCandidates() const { return bhrhcandidates; }
0039     //Specific to HB:
0040     int getNbTowersInEta() const { return nbtowersineta; }
0041     double getTimeDiscriminatorITBH() const { return timediscriminatoritbh; }
0042     double getTimeDiscriminatorOTBH() const { return timediscriminatorotbh; }
0043     //Specific to HE:
0044     double getH1overH123() const { return h1overh123; }
0045     int getClusterSize() const { return clustersize; }
0046     double getTimeDiscriminator() const { return timediscriminator; }
0047 
0048     void setClusterEt(double x) { et = x; }
0049     void setSeedEt(double x) { seed_et = x; }
0050     void setSeedEta(double x) { seed_eta = x; }
0051     void setSeedPhi(double x) { seed_phi = x; }
0052     void setSeedZ(double x) { seed_Z = x; }
0053     void setSeedR(double x) { seed_R = x; }
0054     void setSeedTime(double x) { seed_time = x; }
0055     void setIsHaloFromPattern(bool x) { ishalofrompattern = x; }
0056     void setIsHaloFromPattern_HLT(bool x) { ishalofrompattern_hlt = x; }
0057     void setEoverH(double x) { eoverh = x; }
0058     void setEtStripPhiSeedPlus1(double x) { etstrip_phiseedplus1 = x; }
0059     void setEtStripPhiSeedMinus1(double x) { etstrip_phiseedminus1 = x; }
0060     void setBeamHaloRecHitsCandidates(edm::RefVector<HBHERecHitCollection> x) { bhrhcandidates = x; }
0061     //Specific to HB:
0062     void setNbTowersInEta(double x) { nbtowersineta = x; }
0063     void setTimeDiscriminatorITBH(double x) { timediscriminatoritbh = x; }
0064     void setTimeDiscriminatorOTBH(double x) { timediscriminatorotbh = x; }
0065     //Specific to HE:
0066     void setH1overH123(double x) { h1overh123 = x; }
0067     void setClusterSize(int x) { clustersize = x; }
0068     void setTimeDiscriminator(double x) { timediscriminator = x; }
0069 
0070   private:
0071     double et;
0072     double seed_et, seed_eta, seed_phi, seed_Z, seed_R, seed_time;
0073     bool ishalofrompattern;
0074     bool ishalofrompattern_hlt;
0075     double eoverh;
0076     double etstrip_phiseedplus1, etstrip_phiseedminus1;
0077     //Specific to HB:
0078     int nbtowersineta;
0079     double timediscriminatoritbh, timediscriminatorotbh;
0080     //Specific to HE:
0081     double h1overh123;
0082     int clustersize;
0083     double timediscriminator;
0084 
0085     edm::RefVector<HBHERecHitCollection> bhrhcandidates;
0086   };
0087   typedef std::vector<HaloClusterCandidateHCAL> HaloClusterCandidateHCALCollection;
0088 }  // namespace reco
0089 #endif