|
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) |
|
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::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::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::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::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::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::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::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 | Functions::IsGoodJet (const Baby &b, size_t ijet) |
|
bool | Functions::IsGoodElectron (const Baby &b, size_t iel) |
|
bool | Functions::IsGoodMuon (const Baby &b, size_t imu) |
|
bool | Functions::IsGoodTrack (const Baby &b, size_t itk) |
|
NamedFunc::ScalarType | Functions::NJetsWeights_ttISR (const Baby &b, bool use_baby_nisr) |
|
NamedFunc::ScalarType | Functions::NJetsWeights_vISR (const Baby &b) |
|
int | Functions::NISRMatch (const Baby &b) |
|
void | Functions::DileptonAngles (const Baby &b, NamedFunc::ScalarType &eta1, NamedFunc::ScalarType &phi1, NamedFunc::ScalarType &eta2, NamedFunc::ScalarType &phi2) |
|