00001 #include <vector> 00002 00003 #include "DataFormats/BTauReco/interface/TaggingVariable.h" 00004 #include "PhysicsTools/MVAComputer/interface/AtomicId.h" 00005 00006 #include "RecoBTau/JetTagComputer/interface/GenericMVAComputer.h" 00007 00008 using namespace reco; 00009 using namespace PhysicsTools; 00010 00011 // static cache 00012 GenericMVAComputer::TaggingVariableMapping GenericMVAComputer::mapping; 00013 00014 GenericMVAComputer::TaggingVariableMapping::TaggingVariableMapping() 00015 { 00016 for(unsigned int i = 0; i < btau::lastTaggingVariable; i++) { 00017 const char *name = TaggingVariableTokens[i]; 00018 AtomicId id(name); 00019 00020 taggingVarToAtomicId.push_back(id); 00021 } 00022 } 00023 00024 // explicit instantiation the common case of reco::TaggingVariableList 00025 template 00026 double GenericMVAComputer::eval<reco::TaggingVariableList::const_iterator>( 00027 reco::TaggingVariableList::const_iterator, 00028 reco::TaggingVariableList::const_iterator) const; 00029 00030 template 00031 double GenericMVAComputer::eval<reco::TaggingVariableList>( 00032 const reco::TaggingVariableList&) const; 00033 00034 template 00035 class GenericMVAComputer::TaggingVariableIterator< 00036 reco::TaggingVariableList::const_iterator>; 00037