File indexing completed on 2023-02-08 03:12:39
0001 #ifndef TrackAssociator_TrackAssociatorParameters_h
0002 #define TrackAssociator_TrackAssociatorParameters_h 1
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0020 #include "FWCore/Framework/interface/ConsumesCollector.h"
0021 #include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h"
0022 #include "SimDataFormats/TrackingHit/interface/PSimHitContainer.h"
0023 #include "SimDataFormats/Track/interface/SimTrackContainer.h"
0024 #include "SimDataFormats/TrackingHit/interface/PSimHit.h"
0025 #include "SimDataFormats/Vertex/interface/SimVertexContainer.h"
0026 #include "SimDataFormats/CaloHit/interface/PCaloHitContainer.h"
0027 #include "DataFormats/CaloTowers/interface/CaloTowerCollection.h"
0028 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
0029 #include "DataFormats/DTRecHit/interface/DTRecSegment4DCollection.h"
0030 #include "DataFormats/CSCRecHit/interface/CSCSegmentCollection.h"
0031 #include "DataFormats/GEMRecHit/interface/GEMSegmentCollection.h"
0032 #include "DataFormats/GEMRecHit/interface/ME0SegmentCollection.h"
0033
0034 class DetIdAssociator;
0035 class DetIdAssociatorRecord;
0036 class CaloGeometry;
0037 class CaloGeometryRecord;
0038 class GlobalTrackingGeometry;
0039 class GlobalTrackingGeometryRecord;
0040 class MagneticField;
0041 class IdealMagneticFieldRecord;
0042
0043 namespace edm {
0044 class ParameterSetDescription;
0045 }
0046
0047 class TrackAssociatorParameters {
0048 public:
0049 TrackAssociatorParameters() {}
0050 TrackAssociatorParameters(const edm::ParameterSet&, edm::ConsumesCollector&&);
0051 void loadParameters(const edm::ParameterSet&, edm::ConsumesCollector&);
0052
0053 static void fillPSetDescription(edm::ParameterSetDescription& descriptions);
0054
0055 double dREcal;
0056 double dRHcal;
0057 double dRMuon;
0058
0059 double dREcalPreselection;
0060 double dRHcalPreselection;
0061 double dRMuonPreselection;
0062 double dRPreshowerPreselection;
0063
0064
0065
0066
0067
0068
0069 bool accountForTrajectoryChangeCalo;
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079 double muonMaxDistanceX;
0080 double muonMaxDistanceY;
0081 double muonMaxDistanceSigmaX;
0082 double muonMaxDistanceSigmaY;
0083
0084 bool useEcal;
0085 bool useHcal;
0086 bool useHO;
0087 bool useCalo;
0088 bool usePreshower;
0089 bool useMuon;
0090 bool truthMatch;
0091 bool useGEM;
0092 bool useME0;
0093
0094
0095 edm::InputTag theEBRecHitCollectionLabel;
0096 edm::InputTag theEERecHitCollectionLabel;
0097 edm::InputTag theCaloTowerCollectionLabel;
0098 edm::InputTag theHBHERecHitCollectionLabel;
0099 edm::InputTag theHORecHitCollectionLabel;
0100 edm::InputTag theDTRecSegment4DCollectionLabel;
0101 edm::InputTag theCSCSegmentCollectionLabel;
0102 edm::InputTag theGEMSegmentCollectionLabel;
0103 edm::InputTag theME0SegmentCollectionLabel;
0104
0105
0106
0107
0108
0109
0110
0111 double trajectoryUncertaintyTolerance;
0112
0113 edm::EDGetTokenT<EBRecHitCollection> EBRecHitsToken;
0114 edm::EDGetTokenT<EERecHitCollection> EERecHitsToken;
0115 edm::EDGetTokenT<CaloTowerCollection> caloTowersToken;
0116 edm::EDGetTokenT<HBHERecHitCollection> HBHEcollToken;
0117 edm::EDGetTokenT<HORecHitCollection> HOcollToken;
0118 edm::EDGetTokenT<DTRecSegment4DCollection> dtSegmentsToken;
0119 edm::EDGetTokenT<CSCSegmentCollection> cscSegmentsToken;
0120 edm::EDGetTokenT<GEMSegmentCollection> gemSegmentsToken;
0121 edm::EDGetTokenT<ME0SegmentCollection> me0SegmentsToken;
0122 edm::EDGetTokenT<edm::SimTrackContainer> simTracksToken;
0123 edm::EDGetTokenT<edm::SimVertexContainer> simVerticesToken;
0124 edm::EDGetTokenT<edm::PCaloHitContainer> simEcalHitsEBToken;
0125 edm::EDGetTokenT<edm::PCaloHitContainer> simEcalHitsEEToken;
0126 edm::EDGetTokenT<edm::PCaloHitContainer> simHcalHitsToken;
0127
0128 edm::ESGetToken<DetIdAssociator, DetIdAssociatorRecord> ecalDetIdAssociatorToken;
0129 edm::ESGetToken<DetIdAssociator, DetIdAssociatorRecord> hcalDetIdAssociatorToken;
0130 edm::ESGetToken<DetIdAssociator, DetIdAssociatorRecord> hoDetIdAssociatorToken;
0131 edm::ESGetToken<DetIdAssociator, DetIdAssociatorRecord> caloDetIdAssociatorToken;
0132 edm::ESGetToken<DetIdAssociator, DetIdAssociatorRecord> muonDetIdAssociatorToken;
0133 edm::ESGetToken<DetIdAssociator, DetIdAssociatorRecord> preshowerDetIdAssociatorToken;
0134 edm::ESGetToken<CaloGeometry, CaloGeometryRecord> theCaloGeometryToken;
0135 edm::ESGetToken<GlobalTrackingGeometry, GlobalTrackingGeometryRecord> theTrackingGeometryToken;
0136 edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> bFieldToken;
0137 };
0138 #endif