Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:57:30

0001 #ifndef HSCPCaloInfo_H
0002 #define HSCPCaloInfo_H
0003 #include "DataFormats/Common/interface/AssociationVector.h"
0004 #include "DataFormats/Common/interface/AssociationMap.h"
0005 #include "DataFormats/MuonReco/interface/MuonFwd.h"
0006 #include "DataFormats/MuonReco/interface/Muon.h"
0007 #include "DataFormats/TrackReco/interface/Track.h"
0008 #include <vector>
0009 #include "DataFormats/Common/interface/ValueMap.h"
0010 
0011 namespace susybsm {
0012 
0013   class HSCPCaloInfo {
0014   public:
0015     float hcalCrossedEnergy, ecalCrossedEnergy, hoCrossedEnergy;
0016     float ecal3by3dir, ecal5by5dir;
0017     float hcal3by3dir, hcal5by5dir;
0018     float ecalBeta, ecalBetaError;
0019     float ecalDeDx;
0020     float trkIsoDr;
0021     float ecalTime, ecalTimeError;
0022     float ecalInvBetaError;
0023     int ecalCrysCrossed;
0024     std::vector<float> ecalSwissCrossKs;
0025     std::vector<float> ecalE1OverE9s;
0026     std::vector<float> ecalTrackLengths;
0027     std::vector<float> ecalEnergies;
0028     std::vector<float> ecalTimes;
0029     std::vector<float> ecalTimeErrors;
0030     std::vector<float> ecalChi2s;
0031     std::vector<float> ecalOutOfTimeChi2s;
0032     std::vector<float> ecalOutOfTimeEnergies;
0033     std::vector<DetId> ecalDetIds;
0034     std::vector<GlobalPoint> ecalTrackExitPositions;
0035 
0036     HSCPCaloInfo() {
0037       hcalCrossedEnergy = -9999;
0038       ecalCrossedEnergy = -9999;
0039       hoCrossedEnergy = -9999;
0040       ecal3by3dir = -9999;
0041       ecal5by5dir = -9999;
0042       hcal3by3dir = -9999;
0043       hcal5by5dir = -9999;
0044       ecalBeta = -9999;
0045       ecalBetaError = -9999;
0046       ecalDeDx = -9999;
0047       trkIsoDr = -9999;
0048       ecalTime = -9999;
0049       ecalTimeError = -9999;
0050       ecalInvBetaError = -9999;
0051       ecalCrysCrossed = 0;
0052     }
0053   };
0054 
0055   typedef std::vector<HSCPCaloInfo> HSCPCaloInfoCollection;
0056   typedef edm::ValueMap<HSCPCaloInfo> HSCPCaloInfoValueMap;
0057   typedef edm::Ref<HSCPCaloInfoCollection> HSCPCaloInfoRef;
0058   typedef edm::RefProd<HSCPCaloInfoCollection> HSCPCaloInfoRefProd;
0059   typedef edm::RefVector<HSCPCaloInfoCollection> HSCPCaloInfoRefVector;
0060 
0061 }  // namespace susybsm
0062 
0063 #endif