Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:18:39

0001 #ifndef HLTCTPPSLocalTrackFilter_h
0002 #define HLTCTPPSLocalTrackFilter_h
0003 // <author>Cristovao Beirao da Cruz e Silva</author>
0004 // <email>cbeiraod@cern.ch</email>
0005 // <created>2017-10-26</created>
0006 // <description>
0007 // HLT filter module to select events with tracks in the CTPPS detector
0008 // </description>
0009 
0010 // include files
0011 #include "FWCore/Framework/interface/global/EDFilter.h"
0012 #include "FWCore/Framework/interface/Event.h"
0013 
0014 #include "DataFormats/HLTReco/interface/TriggerTypeDefs.h"
0015 #include "DataFormats/HLTReco/interface/TriggerFilterObjectWithRefs.h"
0016 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0017 #include "FWCore/Utilities/interface/InputTag.h"
0018 #include "FWCore/Framework/interface/EventSetup.h"
0019 
0020 #include "DataFormats/CTPPSReco/interface/CTPPSPixelLocalTrack.h"    // pixel
0021 #include "DataFormats/CTPPSReco/interface/TotemRPLocalTrack.h"       // strip
0022 #include "DataFormats/CTPPSReco/interface/CTPPSDiamondLocalTrack.h"  // diamond
0023 
0024 //
0025 // class declaration
0026 //
0027 
0028 class HLTCTPPSLocalTrackFilter : public edm::global::EDFilter<> {
0029 public:
0030   explicit HLTCTPPSLocalTrackFilter(const edm::ParameterSet&);
0031   ~HLTCTPPSLocalTrackFilter() override;
0032 
0033   static void fillDescriptions(edm::ConfigurationDescriptions&);
0034   bool filter(edm::StreamID, edm::Event&, const edm::EventSetup&) const override;
0035 
0036 private:
0037   edm::ParameterSet param_;
0038 
0039   edm::InputTag pixelLocalTrackInputTag_;  // Input tag identifying the pixel detector
0040   edm::EDGetTokenT<edm::DetSetVector<CTPPSPixelLocalTrack>> pixelLocalTrackToken_;
0041 
0042   edm::InputTag stripLocalTrackInputTag_;  // Input tag identifying the strip detector
0043   edm::EDGetTokenT<edm::DetSetVector<TotemRPLocalTrack>> stripLocalTrackToken_;
0044 
0045   edm::InputTag diamondLocalTrackInputTag_;  // Input tag identifying the diamond detector
0046   edm::EDGetTokenT<edm::DetSetVector<CTPPSDiamondLocalTrack>> diamondLocalTrackToken_;
0047 
0048   bool usePixel_;
0049   bool useStrip_;
0050   bool useDiamond_;
0051 
0052   int minTracks_;
0053   int minTracksPerArm_;
0054 
0055   int maxTracks_;
0056   int maxTracksPerArm_;
0057   int maxTracksPerPot_;
0058 };
0059 
0060 #endif