CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PFCand_AssoMapAlgos.h
Go to the documentation of this file.
1 #ifndef PFCand_AssoMapAlgos_h
2 #define PFCand_AssoMapAlgos_h
3 
4 
9 //
10 // Original Author: Matthias Geisler,32 4-B20,+41227676487,
11 // $Id$
12 //
13 //
15 
17 
20 
21 //
22 // constants, enums and typedefs
23 //
24 
27 
28 typedef std::pair<reco::PFCandidateRef, int> PFCandQualityPair;
29 typedef std::vector<PFCandQualityPair > PFCandQualityPairVector;
30 
31 typedef std::pair<reco::VertexRef, PFCandQualityPair> VertexPfcQuality;
32 
33 typedef std::pair <reco::VertexRef, float> VertexPtsumPair;
34 typedef std::vector< VertexPtsumPair > VertexPtsumVector;
35 
37 
38  public:
39 
40  //dedicated constructor for the algorithms
42 
43  //get all needed collections at the beginning
45 
46  //create the pf candidate to vertex association map
47  std::auto_ptr<PFCandToVertexAssMap> CreatePFCandToVertexMap(edm::Handle<reco::PFCandidateCollection>, const edm::EventSetup&);
48 
49  //create the vertex to pf candidate association map
50  std::auto_ptr<VertexToPFCandAssMap> CreateVertexToPFCandMap(edm::Handle<reco::PFCandidateCollection>, const edm::EventSetup&);
51 
52  //function to sort the vertices in the AssociationMap by the sum of (pT - pT_Error)**2
53  std::auto_ptr<PFCandToVertexAssMap> SortPFCandAssociationMap(PFCandToVertexAssMap*);
54 
55  protected:
56  //protected functions
57 
58  private:
59  //private functions
60 
62 
65 
68 
70 
71 };
72 
73 #endif
edm::AssociationMap< edm::OneToManyWithQuality< reco::PFCandidateCollection, reco::VertexCollection, int > > VertexToPFCandAssMap
std::pair< reco::VertexRef, PFCandQualityPair > VertexPfcQuality
edm::AssociationMap< edm::OneToManyWithQuality< reco::VertexCollection, reco::PFCandidateCollection, int > > PFCandToVertexAssMap
std::pair< reco::PFCandidateRef, int > PFCandQualityPair
std::vector< VertexPtsumPair > VertexPtsumVector
std::auto_ptr< VertexToPFCandAssMap > CreateVertexToPFCandMap(edm::Handle< reco::PFCandidateCollection >, const edm::EventSetup &)
std::auto_ptr< PFCandToVertexAssMap > CreatePFCandToVertexMap(edm::Handle< reco::PFCandidateCollection >, const edm::EventSetup &)
std::auto_ptr< PFCandToVertexAssMap > SortPFCandAssociationMap(PFCandToVertexAssMap *)
std::vector< PFCandQualityPair > PFCandQualityPairVector
edm::Handle< reco::BeamSpot > beamspotH
void GetInputCollections(edm::Event &, const edm::EventSetup &)
std::pair< reco::VertexRef, float > VertexPtsumPair
edm::ESHandle< MagneticField > bFieldH
edm::EDGetTokenT< reco::VertexCollection > token_VertexCollection_
edm::Handle< reco::VertexCollection > vtxcollH
PFCand_AssoMapAlgos(const edm::ParameterSet &, edm::ConsumesCollector &&)
edm::EDGetTokenT< reco::BeamSpot > token_BeamSpot_