File indexing completed on 2024-04-06 12:25:30
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 #include <memory>
0021
0022
0023 #include "FWCore/Framework/interface/Frameworkfwd.h"
0024 #include "FWCore/Framework/interface/stream/EDProducer.h"
0025 #include "FWCore/Framework/interface/Event.h"
0026 #include "FWCore/Framework/interface/MakerMacros.h"
0027 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0028 #include "JetPlusTrackCorrector.h"
0029 #include "ZSPJPTJetCorrector.h"
0030 #include "DataFormats/JetReco/interface/JPTJetCollection.h"
0031 #include "DataFormats/JetReco/interface/JPTJet.h"
0032
0033 #include "DataFormats/JetReco/interface/CaloJet.h"
0034 #include "DataFormats/VertexReco/interface/Vertex.h"
0035
0036
0037 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
0038 #include "DataFormats/Math/interface/Point3D.h"
0039 #include <vector>
0040 #include "RecoJets/JetAssociationAlgorithms/interface/JetTracksAssociationDR.h"
0041 #include "DataFormats/JetReco/interface/TrackExtrapolation.h"
0042 #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
0043 #include "TrackingTools/Records/interface/TrackingComponentsRecord.h"
0044 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
0045 #include "Geometry/Records/interface/CaloGeometryRecord.h"
0046 #include "DataFormats/HcalDetId/interface/HcalDetId.h"
0047
0048
0049 #include <string>
0050
0051
0052
0053
0054
0055 class JetPlusTrackProducerAA : public edm::stream::EDProducer<> {
0056 public:
0057 explicit JetPlusTrackProducerAA(const edm::ParameterSet&);
0058 ~JetPlusTrackProducerAA() override;
0059 void produce(edm::Event&, const edm::EventSetup&) override;
0060
0061 reco::TrackRefVector calculateBGtracksJet(reco::JPTJetCollection&,
0062 std::vector<reco::TrackRef>&,
0063 edm::Handle<std::vector<reco::TrackExtrapolation> >&,
0064 reco::TrackRefVector&);
0065
0066 private:
0067
0068 JetPlusTrackCorrector* mJPTalgo;
0069 ZSPJPTJetCorrector* mZSPalgo;
0070 edm::InputTag src;
0071 edm::InputTag srcPVs_;
0072 std::string alias;
0073 bool vectorial_;
0074 bool useZSP;
0075 edm::InputTag mTracks;
0076 double mConeSize;
0077 reco::TrackBase::TrackQuality trackQuality_;
0078
0079
0080 edm::InputTag mExtrapolations;
0081
0082
0083 edm::EDGetTokenT<edm::View<reco::CaloJet> > input_jets_token_;
0084 edm::EDGetTokenT<reco::VertexCollection> input_vertex_token_;
0085 edm::EDGetTokenT<reco::TrackCollection> input_tracks_token_;
0086 edm::EDGetTokenT<std::vector<reco::TrackExtrapolation> > input_extrapolations_token_;
0087 };