Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef MuonReco_MuonEnergy_h
0002 #define MuonReco_MuonEnergy_h
0003 
0004 #include "DataFormats/DetId/interface/DetId.h"
0005 #include "DataFormats/Math/interface/Point3D.h"
0006 #include "DataFormats/HcalDetId/interface/HcalDetId.h"
0007 #include <vector>
0008 namespace reco {
0009   struct HcalMuonRecHit {
0010     float energy;
0011     float chi2;
0012     float time;
0013     HcalDetId detId;
0014     HcalMuonRecHit() : energy(0), chi2(0), time(0) {}
0015   };
0016 
0017   struct MuonEnergy {
0018     /// CaloTower based energy

0019     /// total energy

0020     float tower;
0021     /// total energy in 3x3 tower shape

0022     float towerS9;
0023 
0024     /// ECAL crystal based energy (RecHits)

0025     /// energy deposited in crossed ECAL crystals

0026     float em;
0027     /// energy deposited in 3x3 ECAL crystal shape around central crystal

0028     float emS9;
0029     /// energy deposited in 5x5 ECAL crystal shape around central crystal

0030     float emS25;
0031     /// maximal energy of ECAL crystal in the 5x5 shape

0032     float emMax;
0033 
0034     /// HCAL tower based energy (RecHits)

0035     /// energy deposited in crossed HCAL towers

0036     float had;
0037     /// energy deposited in 3x3 HCAL tower shape around central tower

0038     float hadS9;
0039     /// maximal energy of HCAL tower in the 3x3 shape

0040     float hadMax;
0041     /// energy deposited in crossed HO towers

0042     float ho;
0043     /// energy deposited in 3x3 HO tower shape around central tower

0044     float hoS9;
0045 
0046     /// Calorimeter timing

0047     float ecal_time;
0048     float ecal_timeError;
0049     float hcal_time;
0050     float hcal_timeError;
0051 
0052     /// Trajectory position at the calorimeter

0053     math::XYZPointF ecal_position;
0054     math::XYZPointF hcal_position;
0055 
0056     /// DetId of the central ECAL crystal

0057     DetId ecal_id;
0058 
0059     /// DetId of the central HCAL tower with smallest depth

0060     DetId hcal_id;
0061 
0062     ///

0063     /// RecHits

0064     ///

0065     /// crossed HCAL rechits

0066     std::vector<HcalMuonRecHit> crossedHadRecHits;
0067 
0068     MuonEnergy()
0069         : tower(0),
0070           towerS9(0),
0071           em(0),
0072           emS9(0),
0073           emS25(0),
0074           emMax(0),
0075           had(0),
0076           hadS9(0),
0077           hadMax(0),
0078           ho(0),
0079           hoS9(0),
0080           ecal_time(0),
0081           ecal_timeError(0),
0082           hcal_time(0),
0083           hcal_timeError(0) {}
0084   };
0085 }  // namespace reco

0086 #endif