00001 #include "RecoTauTag/TauTagTools/interface/DiscriminantList.h" 00002 00003 using namespace std; 00004 namespace PFTauDiscriminants { 00005 00006 // CONSTRUCTOR: 00007 // USER: add/remove the Discrimiants* you wish to use here. 00008 DiscriminantList::DiscriminantList() 00009 { 00010 theDiscriminants_.push_back(new DecayMode() ); 00011 theDiscriminants_.push_back(new MainTrackPt() ); 00012 theDiscriminants_.push_back(new MainTrackAngle() ); 00013 theDiscriminants_.push_back(new TrackPt() ); 00014 theDiscriminants_.push_back(new TrackAngle() ); 00015 theDiscriminants_.push_back(new PiZeroPt() ); 00016 theDiscriminants_.push_back(new PiZeroAngle() ); 00017 theDiscriminants_.push_back(new Dalitz() ); 00018 theDiscriminants_.push_back(new InvariantMassOfSignal() ); 00019 theDiscriminants_.push_back(new InvariantMass() ); 00020 theDiscriminants_.push_back(new Pt() ); 00021 theDiscriminants_.push_back(new Eta() ); 00022 theDiscriminants_.push_back(new OutlierPt() ); 00023 theDiscriminants_.push_back(new OutlierAngle() ); 00024 theDiscriminants_.push_back(new ChargedOutlierPt() ); 00025 theDiscriminants_.push_back(new ChargedOutlierAngle() ); 00026 theDiscriminants_.push_back(new NeutralOutlierPt() ); 00027 theDiscriminants_.push_back(new NeutralOutlierAngle() ); 00028 theDiscriminants_.push_back(new OutlierNCharged() ); 00029 } 00030 00031 //cleanup on destruction 00032 DiscriminantList::~DiscriminantList() 00033 { 00034 for(const_iterator iDiscrminant = this->begin(); 00035 iDiscrminant != this->end(); 00036 ++iDiscrminant) 00037 { 00038 delete *iDiscrminant; 00039 } 00040 } 00041 00042 } //end namespace 00043 00044 00045 00046