From 9463f276140cc986a6a7a8985bb7d944057120f8 Mon Sep 17 00:00:00 2001 From: Slava Krutelyov Date: Mon, 28 Dec 2015 16:18:38 +0100 Subject: [PATCH] read within bounds --- .../Higgs/src/HLTHiggsSubAnalysis.cc | 50 +++++++++++-------- 1 file changed, 29 insertions(+), 21 deletions(-) diff --git a/HLTriggerOffline/Higgs/src/HLTHiggsSubAnalysis.cc b/HLTriggerOffline/Higgs/src/HLTHiggsSubAnalysis.cc index 7d3d5b01587f2..c3adc40375692 100644 --- a/HLTriggerOffline/Higgs/src/HLTHiggsSubAnalysis.cc +++ b/HLTriggerOffline/Higgs/src/HLTHiggsSubAnalysis.cc @@ -1134,38 +1134,46 @@ void HLTHiggsSubAnalysis::passJetCuts(std::vector * matches, std::m std::sort(matches->begin(), matches->begin()+NbTag, matchesByDescendingBtag()); if( _NminOneCuts[0] ) { - dEtaqq = fabs((*matches)[2].eta - (*matches)[3].eta); - if( dEtaqq > _NminOneCuts[0] ) jetCutResult["dEtaqq"] = true; - else jetCutResult["dEtaqq"] = false; + jetCutResult["dEtaqq"] = false; + if (matches->size() > 2){ + dEtaqq = fabs((*matches)[2].eta - (*matches)[3].eta); + if( dEtaqq > _NminOneCuts[0] ) jetCutResult["dEtaqq"] = true; + } } if( _NminOneCuts[1] ) { - mqq = ((*matches)[2].lorentzVector + (*matches)[3].lorentzVector).M(); - if( mqq > _NminOneCuts[1] ) jetCutResult["mqq"] = true; - else jetCutResult["mqq"] = false; + jetCutResult["mqq"] = false; + if (matches->size() > 2){ + mqq = ((*matches)[2].lorentzVector + (*matches)[3].lorentzVector).M(); + if( mqq > _NminOneCuts[1] ) jetCutResult["mqq"] = true; + } } if( _NminOneCuts[2] ) { - dPhibb = fmod(fabs((*matches)[0].phi - (*matches)[1].phi),3.1416); - if( dPhibb < _NminOneCuts[2] ) jetCutResult["dPhibb"] = true; - else jetCutResult["dPhibb"] = false; + jetCutResult["dPhibb"] = false; + if (matches->size() > 1){ + dPhibb = fmod(fabs((*matches)[0].phi - (*matches)[1].phi),3.1416); + if( dPhibb < _NminOneCuts[2] ) jetCutResult["dPhibb"] = true; + } } if( _NminOneCuts[4] ) { - CSV2 = (*matches)[1].bTag; - std::string nameCSV2plot = "CSV2"; - - if( CSV2 > _NminOneCuts[4] ) jetCutResult[nameCSV2plot] = true; - else jetCutResult[nameCSV2plot] = false; - } + std::string nameCSV2plot = "CSV2"; + jetCutResult[nameCSV2plot] = false; + if (matches->size() > 1){ + CSV2 = (*matches)[1].bTag; + if( CSV2 > _NminOneCuts[4] ) jetCutResult[nameCSV2plot] = true; + } + } if( _NminOneCuts[5] ) { - CSV3 = (*matches)[2].bTag; - std::string nameCSV3plot = "CSV3"; - - if( CSV3 > _NminOneCuts[5] ) jetCutResult[nameCSV3plot] = true; - else jetCutResult[nameCSV3plot] = false; - } + std::string nameCSV3plot = "CSV3"; + jetCutResult[nameCSV3plot] = false; + if (matches->size() > 2){ + CSV3 = (*matches)[2].bTag; + if( CSV3 > _NminOneCuts[5] ) jetCutResult[nameCSV3plot] = true; + } + } if( _NminOneCuts[3] ) {