File indexing completed on 2024-04-06 12:25:58
0001 #ifndef CSCRecHitD_CSCHitFromWireOnly_h
0002 #define CSCRecHitD_CSCHitFromWireOnly_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #include <RecoLocalMuon/CSCRecHitD/src/CSCWireHit.h>
0022
0023 #include <DataFormats/CSCDigi/interface/CSCWireDigiCollection.h>
0024
0025 #include <RecoLocalMuon/CSCRecHitD/src/CSCRecoConditions.h>
0026
0027 #include <FWCore/Framework/interface/Frameworkfwd.h>
0028 #include <FWCore/ParameterSet/interface/ParameterSet.h>
0029
0030 #include <vector>
0031
0032 class CSCLayer;
0033 class CSCLayerGeometry;
0034 class CSCDetId;
0035
0036 class CSCHitFromWireOnly {
0037 public:
0038 typedef std::vector<int> ChannelContainer;
0039
0040 explicit CSCHitFromWireOnly(const edm::ParameterSet& ps);
0041
0042 ~CSCHitFromWireOnly();
0043
0044 std::vector<CSCWireHit> runWire(const CSCDetId& id,
0045 const CSCLayer* layer,
0046 const CSCWireDigiCollection::Range& rwired);
0047 void setConditions(const CSCRecoConditions* reco) { recoConditions_ = reco; }
0048 void makeWireCluster(const CSCWireDigi& digi);
0049 bool addToCluster(const CSCWireDigi& digi);
0050 float findWireHitPosition();
0051
0052 CSCDetId id_;
0053 const CSCLayer* layer_;
0054 const CSCLayerGeometry* layergeom_;
0055
0056 private:
0057 bool isDeadWG(const CSCDetId& id, int WG);
0058
0059 std::vector<CSCWireDigi> wire_cluster;
0060 std::vector<int> wire_in_cluster;
0061 std::vector<float> wire_spacing;
0062 int theTime;
0063 int theLastChannel;
0064 std::vector<int> wire_in_clusterAndBX;
0065
0066 int deltaT;
0067 bool useReducedWireTime;
0068 int wireTimeWindow_low;
0069 int wireTimeWindow_high;
0070
0071
0072
0073 const CSCRecoConditions* recoConditions_;
0074 };
0075
0076 #endif