ra4_draw  4bd0201e3d922d42bd545d4b045ed44db33454a4
Functions | Variables
Functions Namespace Reference

Functions

bool IsGoodJet (const Baby &b, std::size_t ijet)
 
bool IsGoodElectron (const Baby &b, std::size_t iel)
 
bool IsGoodMuon (const Baby &b, std::size_t imu)
 
bool IsGoodTrack (const Baby &b, std::size_t itk)
 
NamedFunc::ScalarType NJetsWeights_ttISR (const Baby &b, bool use_baby_nisr)
 
NamedFunc::ScalarType NJetsWeights_vISR (const Baby &b)
 
int NISRMatch (const Baby &b)
 
void DileptonAngles (const Baby &b, NamedFunc::ScalarType &eta1, NamedFunc::ScalarType &phi1, NamedFunc::ScalarType &eta2, NamedFunc::ScalarType &phi2)
 
const NamedFunc n_isr_match ("n_isr_match", NISRMatch)
 
const NamedFunc njets_weights_ttisr ("njets_weights_ttisr", [](const Baby &b){return NJetsWeights_ttISR(b, false);})
 
const NamedFunc njets_weights_visr ("njets_weights_visr", NJetsWeights_vISR)
 
const NamedFunc min_dphi_lep_met ("min_dphi_lep_met", [](const Baby &b) -> NamedFunc::ScalarType{double phi1, eta1, phi2, eta2;DileptonAngles(b, eta1, phi1, eta2, phi2);double dphi1=fabs(TVector2::Phi_mpi_pi(phi1-b.met_phi()));double dphi2=fabs(TVector2::Phi_mpi_pi(phi2-b.met_phi()));if(phi1!=-999 &&phi2!=-999){return std::min(dphi1, dphi2);}else if(phi1!=-999 &&phi2==-999){return dphi1;}else if(phi1==-999 &&phi2!=-999){return dphi2;}return-1;})
 
const NamedFunc max_dphi_lep_met ("max_dphi_lep_met", [](const Baby &b) -> NamedFunc::ScalarType{double phi1, eta1, phi2, eta2;DileptonAngles(b, eta1, phi1, eta2, phi2);double dphi1=fabs(TVector2::Phi_mpi_pi(phi1-b.met_phi()));double dphi2=fabs(TVector2::Phi_mpi_pi(phi2-b.met_phi()));if(phi1!=-999 &&phi2!=-999){return std::max(dphi1, dphi2);}else if(phi1!=-999 &&phi2==-999){return dphi1;}else if(phi1==-999 &&phi2!=-999){return dphi2;}return-1;})
 
const NamedFunc min_dphi_lep_jet ("min_dphi_lep_jet", [](const Baby &b) ->NamedFunc::ScalarType{double phi1, eta1, phi2, eta2;DileptonAngles(b, eta1, phi1, eta2, phi2);double minphi=-1.;for(size_t ijet=0;ijet< b.jets_pt() ->size();++ijet){if(!IsGoodJet(b, ijet)) continue;double dphi1=fabs(TVector2::Phi_mpi_pi(phi1-b.jets_phi() ->at(ijet)));double dphi2=fabs(TVector2::Phi_mpi_pi(phi2-b.jets_phi() ->at(ijet)));double thisdphi=-1;if(phi1!=-999 &&phi2!=-999){thisdphi=std::min(dphi1, dphi2);}else if(phi1!=-999 &&phi2==-999){thisdphi=dphi1;}else if(phi1==-999 &&phi2!=-999){thisdphi=dphi2;}if(minphi< 0.||thisdphi< minphi){minphi=thisdphi;}}return minphi;})
 
const NamedFunc max_dphi_lep_jet ("max_dphi_lep_jet", [](const Baby &b) ->NamedFunc::ScalarType{double phi1, eta1, phi2, eta2;DileptonAngles(b, eta1, phi1, eta2, phi2);double maxphi=-1.;for(size_t ijet=0;ijet< b.jets_pt() ->size();++ijet){if(!IsGoodJet(b, ijet)) continue;double dphi1=fabs(TVector2::Phi_mpi_pi(phi1-b.jets_phi() ->at(ijet)));double dphi2=fabs(TVector2::Phi_mpi_pi(phi2-b.jets_phi() ->at(ijet)));double thisdphi=-1;if(phi1!=-999 &&phi2!=-999){thisdphi=std::max(dphi1, dphi2);}else if(phi1!=-999 &&phi2==-999){thisdphi=dphi1;}else if(phi1==-999 &&phi2!=-999){thisdphi=dphi2;}if(maxphi< 0.||thisdphi > maxphi){maxphi=thisdphi;}}return maxphi;})
 
const NamedFunc min_dphi_met_jet ("min_dphi_met_jet", [](const Baby &b) ->NamedFunc::ScalarType{double minphi=-1.;for(size_t ijet=0;ijet< b.jets_pt() ->size();++ijet){if(!IsGoodJet(b, ijet)) continue;double thisdphi=fabs(TVector2::Phi_mpi_pi(b.met_phi()-b.jets_phi() ->at(ijet)));if(minphi< 0.||thisdphi< minphi){minphi=thisdphi;}}return minphi;})
 
const NamedFunc max_dphi_met_jet ("max_dphi_met_jet", [](const Baby &b) ->NamedFunc::ScalarType{double maxphi=-1.;for(size_t ijet=0;ijet< b.jets_pt() ->size();++ijet){if(!IsGoodJet(b, ijet)) continue;double thisdphi=fabs(TVector2::Phi_mpi_pi(b.met_phi()-b.jets_phi() ->at(ijet)));if(maxphi< 0.||thisdphi > maxphi){maxphi=thisdphi;}}return maxphi;})
 
const NamedFunc min_dr_lep_jet ("min_dr_lep_jet", [](const Baby &b) ->NamedFunc::ScalarType{double phi1, eta1, phi2, eta2;DileptonAngles(b, eta1, phi1, eta2, phi2);double minr=-1.;for(size_t ijet=0;ijet< b.jets_pt() ->size();++ijet){if(!IsGoodJet(b, ijet)) continue;double dr1=hypot(TVector2::Phi_mpi_pi(phi1-b.jets_phi() ->at(ijet)), eta2-eta1);double dr2=hypot(TVector2::Phi_mpi_pi(phi2-b.jets_phi() ->at(ijet)), eta2-eta1);double thisdr=-1;if(phi1!=-999 &&phi2!=-999){thisdr=std::min(dr1, dr2);}else if(phi1!=-999 &&phi2==-999){thisdr=dr1;}else if(phi1==-999 &&phi2!=-999){thisdr=dr2;}if(minr< 0.||thisdr< minr){minr=thisdr;}}return minr;})
 
const NamedFunc max_dr_lep_jet ("max_dr_lep_jet", [](const Baby &b) ->NamedFunc::ScalarType{double phi1, eta1, phi2, eta2;DileptonAngles(b, eta1, phi1, eta2, phi2);double maxr=-1.;for(size_t ijet=0;ijet< b.jets_pt() ->size();++ijet){if(!IsGoodJet(b, ijet)) continue;double dr1=hypot(TVector2::Phi_mpi_pi(phi1-b.jets_phi() ->at(ijet)), eta2-eta1);double dr2=hypot(TVector2::Phi_mpi_pi(phi2-b.jets_phi() ->at(ijet)), eta2-eta1);double thisdr=-1;if(phi1!=-999 &&phi2!=-999){thisdr=std::max(dr1, dr2);}else if(phi1!=-999 &&phi2==-999){thisdr=dr1;}else if(phi1==-999 &&phi2!=-999){thisdr=dr2;}if(maxr< 0.||thisdr > maxr){maxr=thisdr;}}return maxr;})
 
bool IsGoodJet (const Baby &b, size_t ijet)
 
bool IsGoodElectron (const Baby &b, size_t iel)
 
bool IsGoodMuon (const Baby &b, size_t imu)
 
bool IsGoodTrack (const Baby &b, size_t itk)
 

Variables

const NamedFunc n_isr_match
 
const NamedFunc njets_weights_ttisr
 
const NamedFunc njets_weights_visr
 
const NamedFunc min_dphi_lep_met
 
const NamedFunc max_dphi_lep_met
 
const NamedFunc min_dphi_lep_jet
 
const NamedFunc max_dphi_lep_jet
 
const NamedFunc min_dphi_met_jet
 
const NamedFunc max_dphi_met_jet
 
const NamedFunc min_dr_lep_jet
 
const NamedFunc max_dr_lep_jet
 

Function Documentation

void Functions::DileptonAngles ( const Baby b,
NamedFunc::ScalarType eta1,
NamedFunc::ScalarType phi1,
NamedFunc::ScalarType eta2,
NamedFunc::ScalarType phi2 
)
bool Functions::IsGoodElectron ( const Baby b,
std::size_t  iel 
)

Referenced by DileptonAngles().

bool Functions::IsGoodElectron ( const Baby b,
size_t  iel 
)
bool Functions::IsGoodJet ( const Baby b,
std::size_t  ijet 
)

Referenced by NISRMatch().

bool Functions::IsGoodJet ( const Baby b,
size_t  ijet 
)

Definition at line 162 of file functions.cpp.

References Baby::jets_eta(), Baby::jets_islep(), and Baby::jets_pt().

bool Functions::IsGoodMuon ( const Baby b,
std::size_t  imu 
)

Referenced by DileptonAngles().

bool Functions::IsGoodMuon ( const Baby b,
size_t  imu 
)

Definition at line 178 of file functions.cpp.

References Baby::mus_eta(), Baby::mus_miniso(), Baby::mus_pt(), and Baby::mus_sigid().

bool Functions::IsGoodTrack ( const Baby b,
std::size_t  itk 
)

Referenced by DileptonAngles().

bool Functions::IsGoodTrack ( const Baby b,
size_t  itk 
)
const NamedFunc Functions::max_dphi_lep_jet ( "max_dphi_lep_jet"  ,
[] (const Baby &b) ->NamedFunc::ScalarType{double phi1, eta1, phi2, eta2;DileptonAngles(b, eta1, phi1, eta2, phi2);double maxphi=-1.;for(size_t ijet=0;ijet< b.jets_pt() ->size();++ijet){if(!IsGoodJet(b, ijet)) continue;double dphi1=fabs(TVector2::Phi_mpi_pi(phi1-b.jets_phi() ->at(ijet)));double dphi2=fabs(TVector2::Phi_mpi_pi(phi2-b.jets_phi() ->at(ijet)));double thisdphi=-1;if(phi1!=-999 &&phi2!=-999){thisdphi=std::max(dphi1, dphi2);}else if(phi1!=-999 &&phi2==-999){thisdphi=dphi1;}else if(phi1==-999 &&phi2!=-999){thisdphi=dphi2;}if(maxphi< 0.||thisdphi > maxphi){maxphi=thisdphi;}}return maxphi;}   
)
const NamedFunc Functions::max_dphi_lep_met ( "max_dphi_lep_met"  ,
[] (const Baby &b) -> NamedFunc::ScalarType{double phi1, eta1, phi2, eta2;DileptonAngles(b, eta1, phi1, eta2, phi2);double dphi1=fabs(TVector2::Phi_mpi_pi(phi1-b.met_phi()));double dphi2=fabs(TVector2::Phi_mpi_pi(phi2-b.met_phi()));if(phi1!=-999 &&phi2!=-999){return std::max(dphi1, dphi2);}else if(phi1!=-999 &&phi2==-999){return dphi1;}else if(phi1==-999 &&phi2!=-999){return dphi2;}return-1;}   
)
const NamedFunc Functions::max_dphi_met_jet ( "max_dphi_met_jet"  ,
[] (const Baby &b) ->NamedFunc::ScalarType{double maxphi=-1.;for(size_t ijet=0;ijet< b.jets_pt() ->size();++ijet){if(!IsGoodJet(b, ijet)) continue;double thisdphi=fabs(TVector2::Phi_mpi_pi(b.met_phi()-b.jets_phi() ->at(ijet)));if(maxphi< 0.||thisdphi > maxphi){maxphi=thisdphi;}}return maxphi;}   
)
const NamedFunc Functions::max_dr_lep_jet ( "max_dr_lep_jet"  ,
[] (const Baby &b) ->NamedFunc::ScalarType{double phi1, eta1, phi2, eta2;DileptonAngles(b, eta1, phi1, eta2, phi2);double maxr=-1.;for(size_t ijet=0;ijet< b.jets_pt() ->size();++ijet){if(!IsGoodJet(b, ijet)) continue;double dr1=hypot(TVector2::Phi_mpi_pi(phi1-b.jets_phi() ->at(ijet)), eta2-eta1);double dr2=hypot(TVector2::Phi_mpi_pi(phi2-b.jets_phi() ->at(ijet)), eta2-eta1);double thisdr=-1;if(phi1!=-999 &&phi2!=-999){thisdr=std::max(dr1, dr2);}else if(phi1!=-999 &&phi2==-999){thisdr=dr1;}else if(phi1==-999 &&phi2!=-999){thisdr=dr2;}if(maxr< 0.||thisdr > maxr){maxr=thisdr;}}return maxr;}   
)
const NamedFunc Functions::min_dphi_lep_jet ( "min_dphi_lep_jet"  ,
[] (const Baby &b) ->NamedFunc::ScalarType{double phi1, eta1, phi2, eta2;DileptonAngles(b, eta1, phi1, eta2, phi2);double minphi=-1.;for(size_t ijet=0;ijet< b.jets_pt() ->size();++ijet){if(!IsGoodJet(b, ijet)) continue;double dphi1=fabs(TVector2::Phi_mpi_pi(phi1-b.jets_phi() ->at(ijet)));double dphi2=fabs(TVector2::Phi_mpi_pi(phi2-b.jets_phi() ->at(ijet)));double thisdphi=-1;if(phi1!=-999 &&phi2!=-999){thisdphi=std::min(dphi1, dphi2);}else if(phi1!=-999 &&phi2==-999){thisdphi=dphi1;}else if(phi1==-999 &&phi2!=-999){thisdphi=dphi2;}if(minphi< 0.||thisdphi< minphi){minphi=thisdphi;}}return minphi;}   
)
const NamedFunc Functions::min_dphi_lep_met ( "min_dphi_lep_met"  ,
[] (const Baby &b) -> NamedFunc::ScalarType{double phi1, eta1, phi2, eta2;DileptonAngles(b, eta1, phi1, eta2, phi2);double dphi1=fabs(TVector2::Phi_mpi_pi(phi1-b.met_phi()));double dphi2=fabs(TVector2::Phi_mpi_pi(phi2-b.met_phi()));if(phi1!=-999 &&phi2!=-999){return std::min(dphi1, dphi2);}else if(phi1!=-999 &&phi2==-999){return dphi1;}else if(phi1==-999 &&phi2!=-999){return dphi2;}return-1;}   
)
const NamedFunc Functions::min_dphi_met_jet ( "min_dphi_met_jet"  ,
[] (const Baby &b) ->NamedFunc::ScalarType{double minphi=-1.;for(size_t ijet=0;ijet< b.jets_pt() ->size();++ijet){if(!IsGoodJet(b, ijet)) continue;double thisdphi=fabs(TVector2::Phi_mpi_pi(b.met_phi()-b.jets_phi() ->at(ijet)));if(minphi< 0.||thisdphi< minphi){minphi=thisdphi;}}return minphi;}   
)
const NamedFunc Functions::min_dr_lep_jet ( "min_dr_lep_jet"  ,
[] (const Baby &b) ->NamedFunc::ScalarType{double phi1, eta1, phi2, eta2;DileptonAngles(b, eta1, phi1, eta2, phi2);double minr=-1.;for(size_t ijet=0;ijet< b.jets_pt() ->size();++ijet){if(!IsGoodJet(b, ijet)) continue;double dr1=hypot(TVector2::Phi_mpi_pi(phi1-b.jets_phi() ->at(ijet)), eta2-eta1);double dr2=hypot(TVector2::Phi_mpi_pi(phi2-b.jets_phi() ->at(ijet)), eta2-eta1);double thisdr=-1;if(phi1!=-999 &&phi2!=-999){thisdr=std::min(dr1, dr2);}else if(phi1!=-999 &&phi2==-999){thisdr=dr1;}else if(phi1==-999 &&phi2!=-999){thisdr=dr2;}if(minr< 0.||thisdr< minr){minr=thisdr;}}return minr;}   
)
const NamedFunc Functions::n_isr_match ( "n_isr_match"  ,
NISRMatch   
)
int Functions::NISRMatch ( const Baby b)
const NamedFunc Functions::njets_weights_ttisr ( "njets_weights_ttisr"  ,
[] (const Baby &b){return NJetsWeights_ttISR(b, false);}   
)
const NamedFunc Functions::njets_weights_visr ( "njets_weights_visr"  ,
NJetsWeights_vISR   
)
NamedFunc::ScalarType Functions::NJetsWeights_ttISR ( const Baby b,
bool  use_baby_nisr 
)
NamedFunc::ScalarType Functions::NJetsWeights_vISR ( const Baby b)

Variable Documentation

const NamedFunc Functions::max_dphi_lep_jet("max_dphi_lep_jet",[](const Baby &b) ->NamedFunc::ScalarType{double phi1, eta1, phi2, eta2;DileptonAngles(b, eta1, phi1, eta2, phi2);double maxphi=-1.;for(size_t ijet=0;ijet< b.jets_pt() ->size();++ijet){if(!IsGoodJet(b, ijet)) continue;double dphi1=fabs(TVector2::Phi_mpi_pi(phi1-b.jets_phi() ->at(ijet)));double dphi2=fabs(TVector2::Phi_mpi_pi(phi2-b.jets_phi() ->at(ijet)));double thisdphi=-1;if(phi1!=-999 &&phi2!=-999){thisdphi=std::max(dphi1, dphi2);}else if(phi1!=-999 &&phi2==-999){thisdphi=dphi1;}else if(phi1==-999 &&phi2!=-999){thisdphi=dphi2;}if(maxphi< 0.||thisdphi > maxphi){maxphi=thisdphi;}}return maxphi;})
const NamedFunc Functions::max_dphi_lep_met("max_dphi_lep_met",[](const Baby &b) -> NamedFunc::ScalarType{double phi1, eta1, phi2, eta2;DileptonAngles(b, eta1, phi1, eta2, phi2);double dphi1=fabs(TVector2::Phi_mpi_pi(phi1-b.met_phi()));double dphi2=fabs(TVector2::Phi_mpi_pi(phi2-b.met_phi()));if(phi1!=-999 &&phi2!=-999){return std::max(dphi1, dphi2);}else if(phi1!=-999 &&phi2==-999){return dphi1;}else if(phi1==-999 &&phi2!=-999){return dphi2;}return-1;})
const NamedFunc Functions::max_dphi_met_jet("max_dphi_met_jet",[](const Baby &b) ->NamedFunc::ScalarType{double maxphi=-1.;for(size_t ijet=0;ijet< b.jets_pt() ->size();++ijet){if(!IsGoodJet(b, ijet)) continue;double thisdphi=fabs(TVector2::Phi_mpi_pi(b.met_phi()-b.jets_phi() ->at(ijet)));if(maxphi< 0.||thisdphi > maxphi){maxphi=thisdphi;}}return maxphi;})

Referenced by main().

const NamedFunc Functions::max_dr_lep_jet("max_dr_lep_jet",[](const Baby &b) ->NamedFunc::ScalarType{double phi1, eta1, phi2, eta2;DileptonAngles(b, eta1, phi1, eta2, phi2);double maxr=-1.;for(size_t ijet=0;ijet< b.jets_pt() ->size();++ijet){if(!IsGoodJet(b, ijet)) continue;double dr1=hypot(TVector2::Phi_mpi_pi(phi1-b.jets_phi() ->at(ijet)), eta2-eta1);double dr2=hypot(TVector2::Phi_mpi_pi(phi2-b.jets_phi() ->at(ijet)), eta2-eta1);double thisdr=-1;if(phi1!=-999 &&phi2!=-999){thisdr=std::max(dr1, dr2);}else if(phi1!=-999 &&phi2==-999){thisdr=dr1;}else if(phi1==-999 &&phi2!=-999){thisdr=dr2;}if(maxr< 0.||thisdr > maxr){maxr=thisdr;}}return maxr;})
const NamedFunc Functions::min_dphi_lep_jet("min_dphi_lep_jet",[](const Baby &b) ->NamedFunc::ScalarType{double phi1, eta1, phi2, eta2;DileptonAngles(b, eta1, phi1, eta2, phi2);double minphi=-1.;for(size_t ijet=0;ijet< b.jets_pt() ->size();++ijet){if(!IsGoodJet(b, ijet)) continue;double dphi1=fabs(TVector2::Phi_mpi_pi(phi1-b.jets_phi() ->at(ijet)));double dphi2=fabs(TVector2::Phi_mpi_pi(phi2-b.jets_phi() ->at(ijet)));double thisdphi=-1;if(phi1!=-999 &&phi2!=-999){thisdphi=std::min(dphi1, dphi2);}else if(phi1!=-999 &&phi2==-999){thisdphi=dphi1;}else if(phi1==-999 &&phi2!=-999){thisdphi=dphi2;}if(minphi< 0.||thisdphi< minphi){minphi=thisdphi;}}return minphi;})
const NamedFunc Functions::min_dphi_lep_met("min_dphi_lep_met",[](const Baby &b) -> NamedFunc::ScalarType{double phi1, eta1, phi2, eta2;DileptonAngles(b, eta1, phi1, eta2, phi2);double dphi1=fabs(TVector2::Phi_mpi_pi(phi1-b.met_phi()));double dphi2=fabs(TVector2::Phi_mpi_pi(phi2-b.met_phi()));if(phi1!=-999 &&phi2!=-999){return std::min(dphi1, dphi2);}else if(phi1!=-999 &&phi2==-999){return dphi1;}else if(phi1==-999 &&phi2!=-999){return dphi2;}return-1;})
const NamedFunc Functions::min_dphi_met_jet("min_dphi_met_jet",[](const Baby &b) ->NamedFunc::ScalarType{double minphi=-1.;for(size_t ijet=0;ijet< b.jets_pt() ->size();++ijet){if(!IsGoodJet(b, ijet)) continue;double thisdphi=fabs(TVector2::Phi_mpi_pi(b.met_phi()-b.jets_phi() ->at(ijet)));if(minphi< 0.||thisdphi< minphi){minphi=thisdphi;}}return minphi;})

Referenced by main().

const NamedFunc Functions::min_dr_lep_jet("min_dr_lep_jet",[](const Baby &b) ->NamedFunc::ScalarType{double phi1, eta1, phi2, eta2;DileptonAngles(b, eta1, phi1, eta2, phi2);double minr=-1.;for(size_t ijet=0;ijet< b.jets_pt() ->size();++ijet){if(!IsGoodJet(b, ijet)) continue;double dr1=hypot(TVector2::Phi_mpi_pi(phi1-b.jets_phi() ->at(ijet)), eta2-eta1);double dr2=hypot(TVector2::Phi_mpi_pi(phi2-b.jets_phi() ->at(ijet)), eta2-eta1);double thisdr=-1;if(phi1!=-999 &&phi2!=-999){thisdr=std::min(dr1, dr2);}else if(phi1!=-999 &&phi2==-999){thisdr=dr1;}else if(phi1==-999 &&phi2!=-999){thisdr=dr2;}if(minr< 0.||thisdr< minr){minr=thisdr;}}return minr;})
const NamedFunc Functions::n_isr_match("n_isr_match", NISRMatch)
const NamedFunc Functions::njets_weights_ttisr("njets_weights_ttisr",[](const Baby &b){return NJetsWeights_ttISR(b, false);})
const NamedFunc Functions::njets_weights_visr("njets_weights_visr", NJetsWeights_vISR)