******************************************************************************* Nov 29 2004 Linked the tight muon strip. ******************************************************************************* Every Event has at least 1 tight muon Tight muon cuts: 1. Cosmic Cut ( Ashutosh Cosmic ray filter's variables are not filled in the UC Ntuple) cut &= ((uber.muon.cray[j] == 0) || (uber.muon.cray[j] == 1)) ; cout << "cray = " << uber.muon.cray[j] << endl; cut &= ((uber.muon.cosmic & 0x4000) != 0x4000); cut &= ((uber.muon.cosmic & 1) == 0); 2 . Track Pt > 18 GeV // From Objects.C float pt = 1/fabs(correctedCurv(data, uber, j)); cut &= pt > 18; 3. Calorimetry cuts (Em, Had) Em < 2 + max(0, (p-100)*.0115) Had < 2 + max(0, (p-100)*.028) float p = uber.track.p[uber.muon.trind[j]]; cut &= uber.muon.em[j] < ( 2+ 0.5*fabs((p-100)*0.0115) +0.5*((p-100)*0.0115) ); cut &= uber.muon.had[j] < ( 6+ 0.5*fabs((p-100)*0.028) +0.5*((p-100)*0.028) ); 3. Track Cuts (#Stereo layers >=3 and #Axial layer >=3) // Track cuts cut &= 3<= uber.track.naxialsl[uber.muon.trind[j]]; cut &= 3<= uber.track.nstereosl[uber.muon.trind[j]]; 4. Chi2 cut (chi2/DOF < 3 ) float chi2 = uber.track.chi2CT[uber.muon.trind[j]]/ "DOF"; cut &= (4 > chi2); 5. Vertex cut cut &= fabs(uber.muon.ztrack[j]) < 60; 6. Isolation cut cut &= (uber.muon.EtCone4[j]/pt) < 0.1; 7. Detector Cut (Every tight muon should have a stab) cut &= (uber.muon.det[j] != 0); 8. Stab quality cuts. |delta X CMU| < 3 cm |delta X CMP| < 5 cm |delta X CMX| < 6 cm , run > 150144 |delta X BMU| < 5 cm 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]) < 5; if (uber.header.run > 150144 && (uber.muon.det[j] & DET_CMX) == DET_CMX) cut &= fabs(uber.muon.CMXDelX[j]) < 6; if ((uber.muon.det[j] & DET_BMU) == DET_BMU ) cut &= fabs(uber.muon.BMUDelX[j]) < 5; !!! NO fiducial cuts are applied!