Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-01-09 23:33:55

0001 #ifndef RecoMuon_MuonSeedGenerator_RPCSeedrecHitFinder_H
0002 #define RecoMuon_MuonSeedGenerator_RPCSeedrecHitFinder_H
0003 
0004 /** \class RPCSeedLayerFinder

0005  *  

0006  *   \author Haiyun.Teng - Peking University

0007  *

0008  *  

0009  */
0010 
0011 #include "RecoMuon/MuonSeedGenerator/interface/RPCSeedFinder.h"
0012 #include <RecoMuon/TransientTrackingRecHit/interface/MuonTransientTrackingRecHit.h>
0013 #include <FWCore/ParameterSet/interface/ParameterSet.h>
0014 
0015 #ifndef RPCLayerNumber
0016 #define RPCLayerNumber 12
0017 #endif
0018 
0019 #ifndef BarrelLayerNumber
0020 #define BarrelLayerNumber 6
0021 #endif
0022 
0023 #ifndef EachEndcapLayerNumber
0024 #define EachEndcapLayerNumber 3
0025 #endif
0026 
0027 class RPCSeedrecHitFinder {
0028   typedef MuonTransientTrackingRecHit::MuonRecHitPointer MuonRecHitPointer;
0029   typedef MuonTransientTrackingRecHit::ConstMuonRecHitPointer ConstMuonRecHitPointer;
0030   typedef MuonTransientTrackingRecHit::MuonRecHitContainer MuonRecHitContainer;
0031   typedef MuonTransientTrackingRecHit::ConstMuonRecHitContainer ConstMuonRecHitContainer;
0032 
0033 public:
0034   RPCSeedrecHitFinder();
0035   ~RPCSeedrecHitFinder();
0036   void configure(const edm::ParameterSet& iConfig);
0037   void setInput(MuonRecHitContainer (&recHits)[RPCLayerNumber]);
0038   void unsetInput();
0039   void setOutput(RPCSeedFinder* Seed);
0040   void setLayers(const std::vector<unsigned int>& Layers);
0041   void fillrecHits();
0042 
0043 private:
0044   void complete(unsigned int LayerIndex);
0045   double getdeltaPhifromrecHits();
0046   void checkandfill();
0047 
0048   // ----------member data ---------------------------

0049 
0050   // parameters for configuration

0051   unsigned int BxRange;
0052   double MaxDeltaPhi;
0053   std::vector<int> ClusterSet;
0054   // Signal for call fillrecHits()

0055   bool isLayerset;
0056   bool isConfigured;
0057   bool isInputset;
0058   bool isOutputset;
0059   // Enable layers in Barrel and Endcap

0060   std::vector<unsigned int> LayersinRPC;
0061   MuonRecHitContainer* recHitsRPC[RPCLayerNumber];
0062   ConstMuonRecHitContainer therecHits;
0063   RPCSeedFinder* theSeed;
0064 };
0065 
0066 #endif