Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:15:49

0001 #ifndef RecoTauTag_ConeIsolation
0002 #define RecoTauTag_ConeIsolation
0003 
0004 /** \class ConeIsolation
0005  *  EDProducer of the tagged TauJet with the ConeIsolationAlgorithm. 
0006  * It returns two collections: base collection is the JetTag, and extended Collection which is the IsolatedTauTagInfo.
0007  * The method implemented in the IsolatedTauTagInfo class are used to compute the discriminator variable.
0008  * A trick is used to link the IsolatedTauTagInfo to a smart reference to the JetTag.   
0009  *  \author Simone Gennai
0010  */
0011 
0012 // system include files
0013 #include <memory>
0014 
0015 // user include files
0016 #include "FWCore/Framework/interface/Frameworkfwd.h"
0017 #include "FWCore/Framework/interface/global/EDProducer.h"
0018 #include "ConeIsolationAlgorithm.h"
0019 #include "DataFormats/VertexReco/interface/VertexFwd.h"
0020 
0021 class ConeIsolation : public edm::global::EDProducer<> {
0022 public:
0023   explicit ConeIsolation(const edm::ParameterSet&);
0024 
0025   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0026   void produce(edm::StreamID, edm::Event&, const edm::EventSetup&) const override;
0027 
0028 private:
0029   edm::InputTag jetTrackTag;
0030   edm::EDGetTokenT<reco::JetTracksAssociationCollection> jetTrackToken;
0031   edm::InputTag vertexTag;
0032   edm::EDGetTokenT<reco::VertexCollection> vertexToken;
0033   edm::InputTag beamSpotTag;
0034   edm::EDGetTokenT<reco::BeamSpot> beamSpotToken;
0035   bool usingBeamSpot;
0036   ConeIsolationAlgorithm m_algo;
0037 };
0038 #endif