CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/DataFormats/BTauReco/interface/JetCrystalsAssociation.h

Go to the documentation of this file.
00001 #ifndef BTauReco_JetCrystalsAssociation_h
00002 #define BTauReco_JetCrystalsAssociation_h
00003 // \class JetCrystalsAssociation
00004 //
00005 // \short association of Ecal Crystals to jet
00006 //
00007 //
00008 
00009 #include "DataFormats/JetReco/interface/CaloJetCollection.h"
00010 #include "DataFormats/Common/interface/Ref.h"
00011 #include "DataFormats/Common/interface/FwdRef.h"
00012 #include "DataFormats/Common/interface/RefVector.h"
00013 #include "DataFormats/Math/interface/LorentzVector.h"
00014 #include "DataFormats/Math/interface/LorentzVectorFwd.h"
00015 #include <vector>
00016 
00017 namespace reco {
00018   typedef math::PtEtaPhiELorentzVector           EMLorentzVector;
00019   typedef math::PtEtaPhiELorentzVectorCollection EMLorentzVectorCollection;
00020   typedef math::PtEtaPhiELorentzVectorRef        EMLorentzVectorRef;
00021   typedef math::PtEtaPhiELorentzVectorRefProd    EMLorentzVectorRefProd;
00022   typedef math::PtEtaPhiELorentzVectorRefVector  EMLorentzVectorRefVector;
00023 /*
00024   typedef
00025     std::pair<edm::RefToBase<Jet>, EMLorentzVectorRefVector> JetCrystalsAssociation;
00026 */
00027   struct JetCrystalsAssociation :
00028     public std::pair<edm::RefToBase<Jet>, EMLorentzVectorRefVector>
00029   {
00030     typedef std::pair<edm::RefToBase<Jet>, EMLorentzVectorRefVector> base_class;
00031 
00032     JetCrystalsAssociation() :
00033       base_class() { }
00034 
00035     JetCrystalsAssociation(const base_class::first_type & first, const base_class::second_type & second) :
00036      base_class(first, second) { }
00037 
00038     JetCrystalsAssociation(const base_class & _pair) :
00039       base_class(_pair) { }
00040 
00041     JetCrystalsAssociation(const JetCrystalsAssociation & _pair) :
00042       base_class(_pair) { }
00043   };
00044   typedef
00045   std::vector<JetCrystalsAssociation> JetCrystalsAssociationCollection;
00046 
00047   typedef
00048   edm::Ref<JetCrystalsAssociationCollection> JetCrystalsAssociationRef;
00049 
00050   typedef
00051   edm::FwdRef<JetCrystalsAssociationCollection> JetCrystalsAssociationFwdRef;
00052 
00053   typedef
00054   edm::RefProd<JetCrystalsAssociationCollection> JetCrystalsAssociationRefProd;
00055 
00056   typedef
00057   edm::RefVector<JetCrystalsAssociationCollection> JetCrystalsAssociationRefVector;
00058 }
00059 #endif