1 #ifndef RecoTauTag_TauTagTools_PFTauDiscriminantManager_h
2 #define RecoTauTag_TauTagTools_PFTauDiscriminantManager_h
11 namespace PFTauDiscriminants
27 bool branchTree(TTree*
const treeToBranch,
bool addTargetBranch =
false,
bool addWeightBranch =
false);
const reco::PFTauDecayMode * currentTauDecayMode_
const edm::Event * getEvent() const
returns associated edm::Event
const edm::Event * eventData_
void addDiscriminant(Discriminant *const aDiscriminant)
add a discriminant
~PFTauDiscriminantManager()
bool setTau(const reco::PFTauDecayMode &theTau, bool prePass=false, bool preFail=false)
set objects for this discriminant
void fillOutlierObjects(candPtrVector &input)
static std::vector< const reco::Candidate * > getLeafDaughters(const reco::Candidate *input)
return the lowest level constituent candidates of a composite candidate
const std::vector< const reco::Candidate * > & outlierObjectsSortedByPt()
candPtrVector signalObjectsSortedByPt_
discriminantHolder myDiscriminants_
std::map< std::string, Discriminant *const > discriminantHolder
candPtrVector outlierObjectsSortedByPt_
const std::vector< const reco::Candidate * > & outlierObjectsSortedByDR()
const reco::Candidate * mainTrack_
void setEvent(const edm::Event &, double eventWeight)
set the current event. Must be called (once per event) before setTau or setNullResult ...
const std::vector< const reco::Candidate * > & signalObjectsSortedByPt()
accessed by Discriminant classes (caches to prevent multiple sorts)
const reco::Candidate * mainTrack()
get the 'main' track (track computed for relevancy to tau decay resonances) (ie pi- in pi+pi+pi-) ...
const std::vector< const reco::Candidate * > & signalObjectsSortedByDR()
std::vector< const reco::Candidate * > candPtrVector
const reco::PFTauDecayMode * getDecayMode() const
returns associated PFTauDecayMode
bool branchTree(TTree *const treeToBranch, bool addTargetBranch=false, bool addWeightBranch=false)
add a set of branches ot the TTree
PFTauDiscriminantManager()
void fillSignalObjects(candPtrVector &input)
std::vector< const reco::Candidate * > candPtrVector
candPtrVector filterByCharge(const candPtrVector &input, bool isCharged) const
candPtrVector outlierObjectsSortedByDR_
void setSignalFlag(bool isSignal)
candPtrVector signalObjectsSortedByDR_
void buildMVAComputerLink(std::vector< PhysicsTools::Variable::Value > &)
connect to an MVA computer