1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
#ifndef FastSimulation_Muons_FastTSGFromIOHit_H
#define FastSimulation_Muons_FastTSGFromIOHit_H
/** \class FastTSGFromIOHit
* Tracker Seed Generator by propagating and updating a standAlone muon
* to the first pixel hits in tracker system
*
* Emulate TSGFromIOHit in RecoMuon
*
* \author Adam Everett - Purdue University
*/
#include "RecoMuon/TrackerSeedGenerator/interface/TrackerSeedGenerator.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "DataFormats/TrajectorySeed/interface/TrajectorySeed.h"
#include "FWCore/Framework/interface/ConsumesCollector.h"
#include "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h"
#include "SimDataFormats/Track/interface/SimTrackContainer.h"
#include <vector>
class RectangularEtaPhiTrackingRegion;
class TrackingRegion;
class SimTrack;
class FastTSGFromIOHit : public TrackerSeedGenerator {
public:
/// constructor
FastTSGFromIOHit(const edm::ParameterSet& pset, edm::ConsumesCollector& iC);
/// destructor
~FastTSGFromIOHit() override;
/// generate seed(s) for a track
void trackerSeeds(const TrackCand&,
const TrackingRegion&,
const TrackerTopology* tTopo,
std::vector<TrajectorySeed>&) override;
private:
bool clean(reco::TrackRef muRef,
const RectangularEtaPhiTrackingRegion& region,
const BasicTrajectorySeed* aSeed,
const SimTrack& theSimTrack);
private:
std::string theCategory;
edm::EDGetTokenT<edm::SimTrackContainer> simTracksTk;
std::vector<edm::EDGetTokenT<TrajectorySeedCollection> > seedsTks;
double thePtCut;
};
#endif
|