00001 #ifndef DataFormats_TauReco_JetPiZeroAssociation_h 00002 #define DataFormats_TauReco_JetPiZeroAssociation_h 00003 00004 #include "DataFormats/Common/interface/AssociationVector.h" 00005 #include "DataFormats/TauReco/interface/RecoTauPiZero.h" 00006 #include "DataFormats/JetReco/interface/PFJetCollection.h" 00007 00008 namespace reco { 00009 // This base class improves the readability of the ROOT class name by hiding 00010 // the template crap 00011 typedef edm::AssociationVector<PFJetRefProd, std::vector<std::vector<RecoTauPiZero> > > 00012 JetPiZeroAssociationBase; 00013 00014 class JetPiZeroAssociation : public JetPiZeroAssociationBase { 00015 public: 00016 JetPiZeroAssociation() : 00017 JetPiZeroAssociationBase() 00018 { } 00019 00020 JetPiZeroAssociation(const reco::PFJetRefProd & ref) : 00021 JetPiZeroAssociationBase(ref) 00022 { } 00023 00024 JetPiZeroAssociation(const JetPiZeroAssociationBase &v) : 00025 JetPiZeroAssociationBase(v) 00026 { } 00027 }; 00028 00029 typedef JetPiZeroAssociation::value_type JetPiZeroAssociationPiZeros; 00030 typedef edm::Ref<JetPiZeroAssociation> JetPiZeroAssociationRef; 00031 typedef edm::RefProd<JetPiZeroAssociation> JetPiZeroAssociationRefProd; 00032 typedef edm::RefVector<JetPiZeroAssociation> JetPiZeroAssociationRefVector; 00033 } 00034 #endif