Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HLTTrackerHaloFilter_h
0002 #define HLTTrackerHaloFilter_h
0003 
0004 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
0005 
0006 ///////////////////////////////////////////////////////
0007 //
0008 // HLTrackerHaloFilter
0009 //
0010 // Filter selecting beam halo track candidates by looking at
0011 // TEC clusters accumulations
0012 //
0013 // This filter is working with events seeded by L1_BeamHalo
0014 // (BPTX_Xor && (36 || 37 || 38 || 39))
0015 //
0016 // More details:
0017 // http://sviret.web.cern.ch/sviret/Welcome.php?n=CMS.MIB
0018 //
0019 // S.Viret: 27/01/2011 (viret@in2p3.fr)
0020 //
0021 ///////////////////////////////////////////////////////
0022 
0023 #include "FWCore/Framework/interface/Event.h"
0024 #include "FWCore/Framework/interface/EventSetup.h"
0025 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0026 #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
0027 #include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
0028 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0029 #include "DataFormats/Common/interface/Handle.h"
0030 #include "FWCore/Framework/interface/ESHandle.h"
0031 #include "DataFormats/SiPixelCluster/interface/SiPixelCluster.h"
0032 #include "DataFormats/SiStripCluster/interface/SiStripCluster.h"
0033 #include "DataFormats/SiStripDetId/interface/SiStripDetId.h"
0034 #include "DataFormats/HLTReco/interface/TriggerFilterObjectWithRefs.h"
0035 #include "DataFormats/HLTReco/interface/TriggerTypeDefs.h"
0036 
0037 class HLTTrackerHaloFilter : public HLTFilter {
0038 public:
0039   explicit HLTTrackerHaloFilter(const edm::ParameterSet&);
0040   ~HLTTrackerHaloFilter() override;
0041   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0042 
0043 private:
0044   bool hltFilter(edm::Event&,
0045                  const edm::EventSetup&,
0046                  trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
0047 
0048   edm::EDGetTokenT<edmNew::DetSetVector<SiStripCluster> > clusterInputToken_;
0049   edm::InputTag inputTag_;  // input tag identifying product containing pixel clusters
0050   int max_clusTp_;          // Maximum number of TEC+ clusters
0051   int max_clusTm_;          // Maximum number of TEC- clusters
0052   int sign_accu_;           // Minimal size for a signal accumulation
0053   int max_clusT_;           // Maximum number of TEC clusters
0054   int max_back_;            // Max number of accumulations per side
0055   int fastproc_;            // fast unpacking of cluster info, based on DetIds
0056 
0057   static const int m_TEC_cells[];
0058 };
0059 
0060 #endif