bool cut = true; bool data = true; int trind = uber.muon.trind[j]; //we have to know that the muon has a muon stub in CMU, CMP, CMX, or BMU cut &= (uber.muon.det[j] != 0); // Track Pt > 18 GeV cut &= pt> 18; // Energy deposition bool em_cuts = true; em_cuts &= uber.muon.em[j] < ( 2+ 0.5*fabs((p-100)*0.0115) +0.5*((p-100)*0.0115) ); em_cuts &= uber.muon.had[j] < ( 6+ 0.5*fabs((p-100)*0.028) +0.5*((p-100)*0.028) ); double like = BKmuonLikelihood::muonLikelihood(uber.muon.EtCone4[j], uber.muon.PtCone4[j], uber.muon.had[j], uber.muon.em[j]); cut &= (like > BKmuonLikelihood::suggestedCut) || em_cuts; // Track cut cut &= (3<= naxialsl( uber, trind)); cut &= (3<= nstereosl( uber, trind)); //vertex cut cut &= fabs(uber.muon.ztrack[j]) < 60; // NO fiducial and CHI^2 cuts ! // CM detector cuts if ((uber.muon.det[j] & DET_CMU) == DET_CMU ) cut &= fabs(uber.muon.CMUDelX[j]) < 3; if ((uber.muon.det[j] & DET_CMP) == DET_CMP ) cut &= fabs(uber.muon.CMPDelX[j]) < 7; // Because of a MC bug if ( (uber.muon.det[j] & DET_CMX) == DET_CMX) cut &= (fabs(uber.muon.CMXDelX[j]) < 6 && uber.header.run > 150144); if ((uber.muon.det[j] & DET_BMU) == DET_BMU ) cut &= fabs(uber.muon.BMUDelX[j]) < 5;