///////////////////////30.04.2019////////////// //////////////////////////////////////COMBINED PLOT///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #define MyFourMuonAnalyzer_cxx #include "MyFourMuonAnalyzer.h" #include #include #include #define muon_mass 0.105658 #define omega_mass 0.78265 #define phi_mass 1.019461 #define jpsi_mass 3.096 #define ups_mass 9.4603 int main (Int_t argc, Char_t * argv[]){ if (argc < 2) { std::cerr << "Please give 11 arguments " << "runList "<< " " << "outputTxtFileName" << " " << "outputTxtFileName" << " " << "outputTxtFileName" << " " << "outputTxtFileName" << " " << "outputTxtFileName" << " " << "outputTxtFileName" << " " << "outputTxtFileName" << " " << "outputTxtFileName" << " " << "outputTxtFileName" << " " << "outputTxtFileName" << "outputTxtFileName" << "outputTxtFileName" << "outputTxtFileName" << "outputTxtFileName" << "outputTxtFileName" << std::endl; return -1; } const char *inputFileList = argv[1]; //const char *outFileName1 = argv[2]; const char *outTxtName1 = argv[2]; //const char *outFileName2 = argv[4]; const char *outTxtName2 = argv[3]; const char *outTxtName3 = argv[4]; const char *outTxtName4 = argv[5]; const char *outTxtName5 = argv[6]; const char *outTxtName6 = argv[7]; const char *outTxtName7 = argv[8]; const char *outTxtName8 = argv[9]; const char *outTxtName9 = argv[10]; const char *outTxtName10 = argv[11]; const char *outTxtName11 = argv[12]; const char *outTxtName12 = argv[13]; const char *outTxtName13 = argv[14]; const char *outTxtName14 = argv[15]; const char *outTxtName15 = argv[16]; MyFourMuonAnalyzer tt (inputFileList,outTxtName1, outTxtName2,outTxtName3,outTxtName4,outTxtName5,outTxtName6,outTxtName7,outTxtName8,outTxtName9,outTxtName10); tt.Loop (outTxtName1, outTxtName2, outTxtName3, outTxtName4, outTxtName5, outTxtName6, outTxtName7, outTxtName8, outTxtName9, outTxtName10, outTxtName11, outTxtName12, outTxtName13, outTxtName14, outTxtName15 ); return 0; } void MyFourMuonAnalyzer::Loop (const char *outTxtName1, const char *outTxtName2, const char *outTxtName3, const char *outTxtName4, const char *outTxtName5, const char *outTxtName6, const char *outTxtName7, const char *outTxtName8, const char *outTxtName9, const char *outTxtName10, const char *outTxtName11, const char *outTxtName12, const char *outTxtName13, const char *outTxtName14, const char *outTxtName15) { ofstream myoutfile1 (outTxtName1); ofstream myoutfile2 (outTxtName2); ofstream myoutfile3 (outTxtName3); ofstream myoutfile4 (outTxtName4); ofstream myoutfile5 (outTxtName5); ofstream myoutfile6 (outTxtName6); ofstream myoutfile7 (outTxtName7); ofstream myoutfile8 (outTxtName8); ofstream myoutfile9 (outTxtName9); ofstream myoutfile10 (outTxtName10); ofstream myoutfile11 (outTxtName11); ofstream myoutfile12 (outTxtName12); ofstream myoutfile13 (outTxtName13); ofstream myoutfile14 (outTxtName14); ofstream myoutfile15 (outTxtName15); if (fChain == 0) return; Long64_t nentries = fChain->GetEntriesFast (); Long64_t nbytes = 0, nb = 0; for (Long64_t jentry = 0; jentry < nentries; jentry++){ Long64_t ientry = LoadTree (jentry); if (ientry < 0) break; nb = fChain->GetEntry (jentry); nbytes += nb; if (jentry % 10000 == 0)cout << "I am running " << jentry << "th entries out of " << nentries << " total entries" << endl; bool UpsTrig = false; for (int i = 0; i != TrigRes->size (); ++i) { //cout << TrigNames->at(i) << " " << TrigRes->at(i) << endl; if (TrigNames->at(i).find ("HLT_Dimuon0_Upsilon_Muon_") != string::npos && TrigRes->at (i) == 1) UpsTrig = true; //if (UpsTrig == true) { myoutfile <<" yep, this is my trigger" << endl;} } for (int im=0; im < nMu ; im ++) { //cout << "I have "<< nMu << "muons " << endl; float myMuPt = (*muPt)[im]; float myMuEta = (*muEta)[im]; } for ( int it = 0; it < nMyFourMuon; it++) { //Fourmuon mass //cout << "I have "<< nMyFourMuon << "Four Muon" << endl; float myFourMuMass = (*MyFourMuonMass)[it]; float myFourMuPx = (*MyFourMuonPx)[it]; float myFourMuPy = (*MyFourMuonPy)[it]; float myFourMuPz = (*MyFourMuonPz)[it]; TLorentzVector myFourMu; myFourMu.SetXYZM (myFourMuPx, myFourMuPy, myFourMuPz, myFourMuMass); // each muon //1st Muon information int muon1_Id = (*MyFourMuonMu1Idx)[it]; //cout << muon1_Id << endl; float org_mu1pT = (*muPt)[muon1_Id]; float org_mu1Eta = (*muEta)[muon1_Id]; float org_mu1px = (*muPx)[muon1_Id]; float org_mu1py = (*muPy)[muon1_Id]; float org_mu1pz = (*muPz)[muon1_Id]; int org_mu1charge = (*muCharge)[muon1_Id]; TLorentzVector Originalmu1; Originalmu1.SetXYZM (org_mu1px, org_mu1py, org_mu1pz, muon_mass); //2nd Muon information int muon2_Id = (*MyFourMuonMu2Idx)[it]; float org_mu2pT = (*muPt)[muon2_Id]; float org_mu2Eta = (*muEta)[muon2_Id]; float org_mu2px = (*muPx)[muon2_Id]; float org_mu2py = (*muPy)[muon2_Id]; float org_mu2pz = (*muPz)[muon2_Id]; int org_mu2charge = (*muCharge)[muon2_Id]; TLorentzVector Originalmu2; Originalmu2.SetXYZM (org_mu2px, org_mu2py, org_mu2pz, muon_mass); //3rd Muon information int muon3_Id = (*MyFourMuonMu3Idx)[it]; float org_mu3pT = (*muPt)[muon3_Id]; float org_mu3Eta = (*muEta)[muon3_Id]; float org_mu3px = (*muPx)[muon3_Id]; float org_mu3py = (*muPy)[muon3_Id]; float org_mu3pz = (*muPz)[muon3_Id]; int org_mu3charge = (*muCharge)[muon3_Id]; TLorentzVector Originalmu3; Originalmu3.SetXYZM (org_mu3px, org_mu3py, org_mu3pz, muon_mass); //4th Muon information int muon4_Id = (*MyFourMuonMu4Idx)[it]; float org_mu4pT = (*muPt)[muon4_Id]; float org_mu4Eta = (*muEta)[muon4_Id]; float org_mu4px = (*muPx)[muon4_Id]; float org_mu4py = (*muPy)[muon4_Id]; float org_mu4pz = (*muPz)[muon4_Id]; int org_mu4charge = (*muCharge)[muon4_Id]; TLorentzVector Originalmu4; Originalmu4.SetXYZM (org_mu4px, org_mu4py, org_mu4pz, muon_mass); //////fits //1st Muon From Fit float MyFourMu_Mu1Px = (*MyFourMuonMu1Px)[it]; float MyFourMu_Mu1Py = (*MyFourMuonMu1Py)[it]; float MyFourMu_Mu1Pz = (*MyFourMuonMu1Pz)[it]; TLorentzVector Muon1_From4mFit; Muon1_From4mFit.SetXYZM (MyFourMu_Mu1Px, MyFourMu_Mu1Py,MyFourMu_Mu1Pz, muon_mass); //2nd Muon From Fit float MyFourMu_Mu2Px = (*MyFourMuonMu2Px)[it]; float MyFourMu_Mu2Py = (*MyFourMuonMu2Py)[it]; float MyFourMu_Mu2Pz = (*MyFourMuonMu2Pz)[it]; TLorentzVector Muon2_From4mFit; Muon2_From4mFit.SetXYZM (MyFourMu_Mu2Px, MyFourMu_Mu2Py,MyFourMu_Mu2Pz, muon_mass); //3rd Muon from Fit float MyFourMu_Mu3Px = (*MyFourMuonMu3Px)[it]; float MyFourMu_Mu3Py = (*MyFourMuonMu3Py)[it]; float MyFourMu_Mu3Pz = (*MyFourMuonMu3Pz)[it]; TLorentzVector Muon3_From4mFit; Muon3_From4mFit.SetXYZM (MyFourMu_Mu3Px, MyFourMu_Mu3Py,MyFourMu_Mu3Pz, muon_mass); //4rd Muon from Fit float MyFourMu_Mu4Px = (*MyFourMuonMu4Px)[it]; float MyFourMu_Mu4Py = (*MyFourMuonMu4Py)[it]; float MyFourMu_Mu4Pz = (*MyFourMuonMu4Pz)[it]; TLorentzVector Muon4_From4mFit; Muon4_From4mFit.SetXYZM (MyFourMu_Mu4Px, MyFourMu_Mu4Py,MyFourMu_Mu4Pz, muon_mass); ///////////////////////////////////Pairs Mass if ((*MyFourMuonVtxCL)[it] <= 0) continue; float MassFourMuon_From4m = (Muon1_From4mFit + Muon2_From4mFit + Muon3_From4mFit + Muon4_From4mFit).M(); // mass ordering float Mass12t = (Muon1_From4mFit + Muon2_From4mFit).M (); float Mass34t = (Muon3_From4mFit + Muon4_From4mFit).M (); float Mass13t = (Muon1_From4mFit + Muon3_From4mFit).M (); float Mass24t = (Muon2_From4mFit + Muon4_From4mFit).M (); float Mass14t = (Muon1_From4mFit + Muon4_From4mFit).M (); float Mass23t = (Muon2_From4mFit + Muon3_From4mFit).M (); //////////////////////////////////////////Muon Pairs WRT charges bool pair1234 = false; bool pair1324 = false; bool pair1423 = false; bool pair1234_OS = false; bool pair1324_OS = false; bool pair1423_OS = false; bool pair1234_SS = false; bool pair1324_SS = false; bool pair1423_SS = false; /////find all pairs //it finds pair1234: muon1muon2 and muon3muon4 if (org_mu1charge + org_mu2charge == 0 && (org_mu3charge + org_mu4charge == 0 || org_mu3charge + org_mu4charge == 2 || org_mu3charge + org_mu4charge == -2) ){ pair1234 = true; } //it finds pair1324: muon1muon3 and muon2muon4 if (org_mu1charge + org_mu3charge == 0 && ( org_mu2charge + org_mu4charge == 0 || org_mu2charge + org_mu4charge == 2 || org_mu2charge + org_mu4charge == -2) ){ pair1324 = true; } //it finds pair1423: muon1muon4 and muon2muon3 if (org_mu1charge + org_mu4charge == 0 && (org_mu2charge + org_mu3charge == 0 || org_mu2charge + org_mu3charge == 2|| org_mu2charge + org_mu3charge == -2)){ pair1423 = true; } /////it find opposite sign pairs ////pair1234 Opposite sign: muon1muon2 and muon3muon4 if (org_mu1charge + org_mu2charge == 0 && org_mu3charge + org_mu4charge == 0 ){ pair1234_OS = true; } //pair1324 Opposite sign: muon1muon3 and muon2muon4 if (org_mu1charge + org_mu3charge == 0 && org_mu2charge + org_mu4charge == 0 ){ pair1324_OS = true; } //pair1423 Opposite sign: muon1muon4 and muon2muon3 if (org_mu1charge + org_mu4charge == 0 && org_mu2charge + org_mu3charge == 0 ){ pair1423_OS = true; } /////find same sign pairs //pair1234 Same Sign: muon1muon2 and muon3muon4 if (org_mu1charge + org_mu2charge == 0 && ( org_mu3charge + org_mu4charge == 2 || org_mu3charge + org_mu4charge == -2)){ pair1234_SS = true; } //pair1324 Same Sign: muon1muon3 and muon2muon4 if (org_mu1charge + org_mu3charge == 0 && ( org_mu2charge + org_mu4charge == 2 || org_mu2charge + org_mu4charge == -2)){ pair1324_SS = true; } //pair1423 Same Sign: muon1muon4 and muon2muon3 if (org_mu1charge + org_mu4charge == 0 && ( org_mu2charge + org_mu3charge == 2 || org_mu2charge + org_mu3charge == -2 )){ pair1423_SS = true; } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //find upsilon which is the CLOSEST PAIR to the upsilon mass in signal region ///////////////////////////////////////////////////////////////////////////// bool UpsPair12_inOS = false; bool UpsPair34_inOS = false; bool UpsPair13_inOS = false; bool UpsPair24_inOS = false; bool UpsPair14_inOS = false; bool UpsPair23_inOS = false; if (pair1234_OS) { if ((fabs(Mass12t-ups_mass)< fabs(Mass34t-ups_mass)) && ( Mass34t < ups_mass )){ UpsPair12_inOS = true;} else if ((fabs(Mass34t-ups_mass)< fabs(Mass12t-ups_mass)) && ( Mass12t < ups_mass )){ UpsPair34_inOS = true;} } if (pair1324_OS) { if ((fabs(Mass13t-ups_mass)< fabs(Mass24t-ups_mass)) && ( Mass24t < ups_mass )){ UpsPair13_inOS = true;} else if ((fabs(Mass24t-ups_mass)< fabs(Mass13t-ups_mass)) && ( Mass13t < ups_mass )){ UpsPair24_inOS = true;} } if (pair1423_OS) { if ((fabs(Mass14t-ups_mass)< fabs(Mass23t-ups_mass)) && ( Mass23t < ups_mass )){ UpsPair14_inOS = true;} else if ((fabs(Mass23t-ups_mass)< fabs(Mass14t-ups_mass)) && ( Mass14t < ups_mass )){ UpsPair23_inOS = true;} } //in same sign region bool UpsPair12_inSS = false; bool UpsPair13_inSS = false; bool UpsPair14_inSS = false; if (pair1234_SS) { if ((fabs(Mass12t-ups_mass)< fabs(Mass34t-ups_mass)) && ( Mass34t < ups_mass )){ UpsPair12_inSS = true;}} if (pair1324_SS) { if ((fabs(Mass13t-ups_mass)< fabs(Mass24t-ups_mass)) && ( Mass24t < ups_mass )){ UpsPair13_inSS = true;}} if (pair1423_SS) { if ((fabs(Mass14t-ups_mass)< fabs(Mass23t-ups_mass)) && ( Mass23t < ups_mass )){ UpsPair14_inSS = true;}} //define upsilon mass which is closer to upsilon mass and other dimoun pair which is 3 sigma far to upsilon mass in OS/SS region float UpsPairMass; float OtherPairMass; if (pair1234_OS && UpsPair12_inOS ) { UpsPairMass = Mass12t; OtherPairMass = Mass34t; } if (pair1234_OS && UpsPair34_inOS ) { UpsPairMass = Mass34t; OtherPairMass = Mass12t; } if (pair1324_OS && UpsPair13_inOS ) { UpsPairMass = Mass13t; OtherPairMass = Mass24t; } if (pair1324_OS && UpsPair24_inOS ) { UpsPairMass = Mass24t; OtherPairMass = Mass13t; } if (pair1423_OS && UpsPair14_inOS ) { UpsPairMass = Mass14t; OtherPairMass = Mass23t; } if (pair1423_OS && UpsPair23_inOS ) { UpsPairMass = Mass23t; OtherPairMass = Mass14t; } if (pair1234_SS && UpsPair12_inSS ) { UpsPairMass = Mass12t; OtherPairMass = Mass34t; } if (pair1324_SS && UpsPair13_inSS ) { UpsPairMass = Mass13t; OtherPairMass = Mass24t; } if (pair1423_SS && UpsPair14_inSS ) { UpsPairMass = Mass14t; OtherPairMass = Mass23t; } //define the first muon coming from upsilon, second muon coming from upsilon; first muon not coming from upsilon and second muon not coming from upsilon float upleadmupT ; float upsubleadmupT; float upleadmuEta ; float upsubleadmuEta; float leadmupT ; float subleadmupT; float leadmuEta ; float subleadmuEta; if (pair1234_OS && UpsPair12_inOS ){ upleadmupT = org_mu1pT; upsubleadmupT = org_mu2pT; upleadmuEta = org_mu1Eta; upsubleadmuEta = org_mu2Eta; leadmupT = org_mu3pT; subleadmupT = org_mu4pT; leadmuEta = org_mu3Eta; subleadmuEta = org_mu4Eta;} if (pair1234_OS && UpsPair34_inOS ) { upleadmupT = org_mu3pT; upsubleadmupT = org_mu4pT; upleadmuEta = org_mu3Eta; upsubleadmuEta = org_mu4Eta; leadmupT = org_mu1pT; subleadmupT = org_mu2pT; leadmuEta = org_mu1Eta; subleadmuEta = org_mu2Eta;} if (pair1324_OS && UpsPair13_inOS ){ upleadmupT = org_mu1pT; upsubleadmupT = org_mu3pT; upleadmuEta = org_mu1Eta; upsubleadmuEta = org_mu3Eta; leadmupT = org_mu2pT; subleadmupT = org_mu4pT; leadmuEta = org_mu2Eta; subleadmuEta = org_mu4Eta;} if (pair1324_OS && UpsPair24_inOS ){ upleadmupT = org_mu2pT; upsubleadmupT = org_mu4pT; upleadmuEta = org_mu2Eta; upsubleadmuEta = org_mu4Eta; leadmupT = org_mu1pT; subleadmupT = org_mu3pT; leadmuEta = org_mu1Eta; subleadmuEta = org_mu3Eta;} if (pair1423_OS && UpsPair14_inOS ){ upleadmupT = org_mu1pT; upsubleadmupT = org_mu4pT; upleadmuEta = org_mu1Eta; upsubleadmuEta = org_mu4Eta; leadmupT = org_mu2pT; subleadmupT = org_mu3pT; leadmuEta = org_mu2Eta; subleadmuEta = org_mu3Eta;} if (pair1423_OS && UpsPair23_inOS ){ upleadmupT = org_mu2pT; upsubleadmupT = org_mu3pT; upleadmuEta = org_mu2Eta; upsubleadmuEta = org_mu3Eta; leadmupT = org_mu1pT; subleadmupT = org_mu4pT; leadmuEta = org_mu1Eta; subleadmuEta = org_mu4Eta;} if (pair1234_SS && UpsPair12_inSS ){ upleadmupT = org_mu1pT; upsubleadmupT = org_mu2pT; upleadmuEta = org_mu1Eta; upsubleadmuEta = org_mu2Eta; leadmupT = org_mu3pT; subleadmupT = org_mu4pT; leadmuEta = org_mu3Eta; subleadmuEta = org_mu4Eta;} if (pair1324_SS && UpsPair13_inSS ){ upleadmupT = org_mu1pT; upsubleadmupT = org_mu3pT; upleadmuEta = org_mu1Eta; upsubleadmuEta = org_mu3Eta; leadmupT = org_mu2pT; subleadmupT = org_mu4pT; leadmuEta = org_mu2Eta; subleadmuEta = org_mu4Eta;} if (pair1423_SS && UpsPair14_inSS ){ upleadmupT = org_mu1pT; upsubleadmupT = org_mu4pT; upleadmuEta = org_mu1Eta; upsubleadmuEta = org_mu4Eta; leadmupT = org_mu2pT; subleadmupT = org_mu3pT; leadmuEta = org_mu2Eta; subleadmuEta = org_mu3Eta;} ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////EVENT SELECTION/////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //define other cuts//////////////////////////////// bool PtCut1 = false; bool PtCut2 = false; bool EtaCut = false; bool FourMuonVtxProb = false; bool FourMuonMassCut = false; //vertex probability cut if ((*MyFourMuonVtxCL)[it] > 0.05) FourMuonVtxProb = true; // pT > 2.0 GeV for each muon if (Originalmu1.Pt () >2.0 && Originalmu2.Pt () > 2.0 && Originalmu3.Pt () > 2.0 && Originalmu4.Pt () > 2.0) PtCut1 = true; // pT > 2.5 GeV for each muon to reduve background by half if (Originalmu1.Pt () >2.5 && Originalmu2.Pt () > 2.5 && Originalmu3.Pt () > 2.5 && Originalmu4.Pt () > 2.5) PtCut2 = true; //|Eta|<2.4 for each muon if (fabs (Originalmu1.Eta ()) < 2.4 && fabs (Originalmu2.Eta ()) < 2.4 && fabs (Originalmu3.Eta ()) < 2.4 && fabs (Originalmu4.Eta ()) < 2.4) EtaCut = true; //Four muon mass is in [13,28] GeV mass window if ( myFourMuMass > 13. && myFourMuMass < 28. ) FourMuonMassCut=true; //if (FourMuonMassCut){cout << myFourMuMass << endl;} ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///3 SIGMA cut on upsilon mass in OS and SS regions//////////////////// bool SigmaC12_inOS = false; bool SigmaC34_inOS = false; bool SigmaC13_inOS = false; bool SigmaC24_inOS = false; bool SigmaC14_inOS = false; bool SigmaC23_inOS = false; if (pair1234_OS) { if (UpsPair12_inOS && (fabs (Mass12t - ups_mass) <= 3 * 1.105*(*MyMuPMuM1MassErr_Mu12)[it])){ //if (Mass12t > 8.5 && Mass12t < 11.4){ SigmaC12_inOS = true;} if (UpsPair34_inOS && (fabs (Mass34t - ups_mass) <= 3 * 1.105*(*MyMuPMuM2MassErr_Mu34)[it])){ //if (Mass34t > 8.5 && Mass34t < 11.4){ SigmaC34_inOS = true;} } if (pair1324_OS) { if (UpsPair13_inOS && ( fabs (Mass13t - ups_mass) <= 3 * 1.105*(*MyMuPMuM3MassErr_Mu13)[it])){ //if (Mass13t > 8.5 && Mass13t < 11.4){ SigmaC13_inOS = true;} if (UpsPair24_inOS && (fabs (Mass24t - ups_mass) <= 3 * 1.105*(*MyMuPMuM4MassErr_Mu24)[it])){ //if (Mass24t > 8.5 && Mass24t < 11.4){ SigmaC24_inOS = true;} } if (pair1423_OS) { if (UpsPair14_inOS && (fabs (Mass14t - ups_mass) <= 3 * 1.105*(*MyMuPMuM5MassErr_Mu14)[it])){ //if (Mass14t > 8.5 && Mass14t < 11.4){ SigmaC14_inOS = true;} if (UpsPair23_inOS && (fabs (Mass23t - ups_mass) <= 3 * 1.105*(*MyMuPMuM6MassErr_Mu23)[it])){ //if (Mass23t > 8.5 && Mass23t < 11.4){ SigmaC23_inOS = true;} } ///In SS region only the first pair with 0 charge can be upsilon candidate that is why we didn’t check closer pair bool SigmaC12_inSS = false; bool SigmaC13_inSS = false; bool SigmaC14_inSS = false; if (pair1234_SS) { if (UpsPair12_inSS && (fabs (Mass12t - ups_mass) <= 3 * 1.105*(*MyMuPMuM1MassErr_Mu12)[it])){ //if (Mass12t > 8.5 && Mass12t < 11.4){ SigmaC12_inSS;}} if (pair1324_SS) { if (UpsPair13_inSS && (fabs (Mass13t - ups_mass) <= 3 * 1.105*(*MyMuPMuM3MassErr_Mu13)[it])){ //if (Mass13t > 8.5 && Mass13t < 11.4){ SigmaC13_inSS = true;}} if (pair1423_SS) { if (UpsPair14_inSS && (fabs (Mass14t - ups_mass) <= 3 * 1.105*(*MyMuPMuM5MassErr_Mu14)[it])){ //if (Mass14t > 8.5 && Mass14t < 11.4){ SigmaC14_inSS = true;}} //added for background study : Y(1S)Y(1S) is defined as background bool SigmaC1234_inOS_Bkg = false; bool SigmaC1324_inOS_Bkg = false; bool SigmaC1423_inOS_Bkg = false; if (pair1234_OS) { if ((fabs (Mass12t - ups_mass) <= 3 * 1.105*(*MyMuPMuM1MassErr_Mu12)[it]) && (fabs (Mass34t - ups_mass) <= 3 * 1.105*(*MyMuPMuM2MassErr_Mu34)[it]) ){ SigmaC1234_inOS_Bkg = true;}} if (pair1324_OS) { if ( ( fabs (Mass13t - ups_mass) <= 3 * 1.105*(*MyMuPMuM3MassErr_Mu13)[it]) && (fabs (Mass24t - ups_mass) <= 3 * 1.105*(*MyMuPMuM4MassErr_Mu24)[it])){ SigmaC1324_inOS_Bkg = true;}} if (pair1423_OS) { if ( (fabs (Mass14t - ups_mass) <= 3 * 1.105*(*MyMuPMuM5MassErr_Mu14)[it]) && (fabs (Mass23t - ups_mass) <= 3 * 1.105*(*MyMuPMuM6MassErr_Mu23)[it])){ SigmaC1423_inOS_Bkg = true;}} ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //ChiProb cut after passing upsilon trigger and finding upsilon in OS bool ChiProb12_inOS = false; bool ChiProb34_inOS = false; bool ChiProb13_inOS = false; bool ChiProb24_inOS = false; bool ChiProb14_inOS = false; bool ChiProb23_inOS = false; bool ChiProb12_inSS = false; bool ChiProb13_inSS = false; bool ChiProb14_inSS = false; if (pair1234_OS && UpsTrig && UpsPair12_inOS){ if ((*MyMuPMuM1ChiProb_Mu12)[it] >= 0.005){ ChiProb12_inOS = true;}} if (pair1234_OS && UpsTrig && UpsPair34_inOS){ if ((*MyMuPMuM2ChiProb_Mu34)[it] >= 0.005){ ChiProb34_inOS = true;}} if (pair1324_OS && UpsTrig && UpsPair13_inOS){ if ( (*MyMuPMuM3ChiProb_Mu13)[it] >= 0.005){ ChiProb13_inOS = true;}} if (pair1324_OS && UpsTrig && UpsPair24_inOS){ if ((*MyMuPMuM4ChiProb_Mu24)[it] >= 0.005){ ChiProb24_inOS = true;}} if (pair1423_OS && UpsTrig && UpsPair14_inOS){ if ((*MyMuPMuM5ChiProb_Mu14)[it] >= 0.005){ ChiProb14_inOS = true;}} if (pair1423_OS && UpsTrig && UpsPair23_inOS){ if ((*MyMuPMuM6ChiProb_Mu23)[it] >= 0.005){ ChiProb23_inOS = true;}} //SS if (pair1234_SS && UpsTrig && UpsPair12_inSS){ if ((*MyMuPMuM1ChiProb_Mu12)[it] >= 0.005){ ChiProb12_inSS = true;}} if (pair1324_SS && UpsTrig && UpsPair13_inSS){ if ( (*MyMuPMuM3ChiProb_Mu13)[it] >= 0.005){ ChiProb13_inSS = true;}} if (pair1423_SS && UpsTrig && UpsPair14_inSS){ if ((*MyMuPMuM5ChiProb_Mu14)[it] >= 0.005){ ChiProb14_inSS = true;}} //added for Y(1S)Y(1S) events, this cut will be applied to both pairs bool ChiProb1234_inOS_Bkg = false; bool ChiProb1324_inOS_Bkg = false; bool ChiProb1423_inOS_Bkg = false; if (pair1234_OS && UpsTrig && SigmaC1234_inOS_Bkg ){ if ((*MyMuPMuM1ChiProb_Mu12)[it] >= 0.005 && (*MyMuPMuM2ChiProb_Mu34)[it] >= 0.005){ ChiProb1234_inOS_Bkg = true;}} if (pair1324_OS && UpsTrig && SigmaC1324_inOS_Bkg){ if ( (*MyMuPMuM3ChiProb_Mu13)[it] >= 0.005 && (*MyMuPMuM4ChiProb_Mu24)[it] >= 0.005){ ChiProb1324_inOS_Bkg = true;}} if (pair1423_OS && UpsTrig && SigmaC1423_inOS_Bkg){ if ((*MyMuPMuM5ChiProb_Mu14)[it] >= 0.005 && (*MyMuPMuM6ChiProb_Mu23)[it] >= 0.005){ ChiProb1423_inOS_Bkg = true;}} //added for Background: vertex probability of four muon is changed by [ 10^{-10}, 10^{-3}] in OS and SS for Background study bool ChiProb12_inOS_Bkg = false; bool ChiProb34_inOS_Bkg = false; bool ChiProb13_inOS_Bkg = false; bool ChiProb24_inOS_Bkg = false; bool ChiProb14_inOS_Bkg = false; bool ChiProb23_inOS_Bkg = false; bool ChiProb12_inSS_Bkg = false; bool ChiProb13_inSS_Bkg = false; bool ChiProb14_inSS_Bkg = false; if (pair1234_OS && UpsTrig && UpsPair12_inOS){ if ((*MyMuPMuM1ChiProb_Mu12)[it] >= 0.0000000001 && (*MyMuPMuM1ChiProb_Mu12)[it] <= 0.001 ){ ChiProb12_inOS_Bkg = true;}} if (pair1234_OS && UpsTrig && UpsPair34_inOS){ if ((*MyMuPMuM2ChiProb_Mu34)[it] >= 0.0000000001 && (*MyMuPMuM2ChiProb_Mu34)[it] <= 0.001 ){ ChiProb34_inOS_Bkg = true;}} if (pair1324_OS && UpsTrig && UpsPair13_inOS){ if ( (*MyMuPMuM3ChiProb_Mu13)[it] >= 0.0000000001 && (*MyMuPMuM3ChiProb_Mu13)[it] <= 0.001 ){ ChiProb13_inOS_Bkg = true;}} if (pair1324_OS && UpsTrig && UpsPair24_inOS){ if ((*MyMuPMuM4ChiProb_Mu24)[it] >= 0.0000000001 && (*MyMuPMuM4ChiProb_Mu24)[it] <= 0.001 ){ ChiProb24_inOS_Bkg = true;}} if (pair1423_OS && UpsTrig && UpsPair14_inOS){ if ((*MyMuPMuM5ChiProb_Mu14)[it] >= 0.0000000001 && (*MyMuPMuM5ChiProb_Mu14)[it] <= 0.001 ){ ChiProb14_inOS_Bkg = true;}} if (pair1423_OS && UpsTrig && UpsPair23_inOS){ if ((*MyMuPMuM6ChiProb_Mu23)[it] >= 0.0000000001 && (*MyMuPMuM6ChiProb_Mu23)[it] <= 0.001 ){ ChiProb23_inOS_Bkg = true;}} if (pair1234_SS && UpsTrig && UpsPair12_inSS){ if ((*MyMuPMuM1ChiProb_Mu12)[it] >= 0.0000000001 && (*MyMuPMuM1ChiProb_Mu12)[it] <= 0.001 ){ ChiProb12_inSS_Bkg = true;}} if (pair1324_SS && UpsTrig && UpsPair13_inSS){ if ( (*MyMuPMuM3ChiProb_Mu13)[it] >= 0.0000000001 && (*MyMuPMuM3ChiProb_Mu13)[it] <= 0.001 ){ ChiProb13_inSS_Bkg = true;}} if (pair1423_SS && UpsTrig && UpsPair14_inSS){ if ((*MyMuPMuM5ChiProb_Mu14)[it] >= 0.0000000001 && (*MyMuPMuM5ChiProb_Mu14)[it] <= 0.001 ){ ChiProb14_inSS_Bkg = true;}} ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //REMOVE LOW MASS IN ANY OS PAIR IN UNSELECTED PAIRS//////////////////// //note this cut should be after sigma and chiprob cuts bool RemoveLowMass1234_inOS = false; bool RemoveLowMass1324_inOS = false; bool RemoveLowMass1423_inOS = false; bool RemoveLowMass1234_inSS = false; bool RemoveLowMass1324_inSS = false; bool RemoveLowMass1423_inSS = false; if (pair1234_OS && UpsTrig ) { if ( fabs (Mass13t - omega_mass) >= 2 * 1.105 * (*MyMuPMuM3MassErr_Mu13)[it] && fabs (Mass13t - phi_mass) >= 2 * 1.105 * (*MyMuPMuM3MassErr_Mu13)[it] && fabs (Mass13t - jpsi_mass) >= 2 * 1.105 * (*MyMuPMuM3MassErr_Mu13)[it] && fabs (Mass24t - omega_mass) >= 2 * 1.105 * (*MyMuPMuM4MassErr_Mu24)[it] && fabs (Mass24t - phi_mass) >= 2 * 1.105 * (*MyMuPMuM4MassErr_Mu24)[it] && fabs (Mass24t - jpsi_mass) >= 2 * 1.105 * (*MyMuPMuM4MassErr_Mu24)[it] && fabs (Mass14t - omega_mass) >= 2 * 1.105 * (*MyMuPMuM5MassErr_Mu14)[it] && fabs (Mass14t - phi_mass) >= 2 * 1.105 * (*MyMuPMuM5MassErr_Mu14)[it] && fabs (Mass14t - jpsi_mass) >= 2 * 1.105 * (*MyMuPMuM5MassErr_Mu14)[it] && fabs (Mass23t - omega_mass) >= 2 * 1.105 * (*MyMuPMuM6MassErr_Mu23)[it] && fabs (Mass23t - phi_mass) >= 2 * 1.105 * (*MyMuPMuM6MassErr_Mu23)[it] && fabs (Mass23t - jpsi_mass) >= 2 * 1.105 * (*MyMuPMuM6MassErr_Mu23)[it]) RemoveLowMass1234_inOS = true; } if (pair1324_OS && UpsTrig ) { if ( fabs (Mass12t - omega_mass) >= 2 * 1.105 * (*MyMuPMuM1MassErr_Mu12)[it] && fabs (Mass12t - phi_mass) >= 2 * 1.105 * (*MyMuPMuM1MassErr_Mu12)[it] && fabs (Mass12t - jpsi_mass) >= 2 * 1.105 * (*MyMuPMuM1MassErr_Mu12)[it] && fabs (Mass34t - omega_mass) >= 2 * 1.105 * (*MyMuPMuM2MassErr_Mu34)[it] && fabs (Mass34t - phi_mass) >= 2 * 1.105 * (*MyMuPMuM2MassErr_Mu34)[it] && fabs (Mass34t - jpsi_mass) >= 2 * 1.105 * (*MyMuPMuM2MassErr_Mu34)[it] && fabs (Mass14t - omega_mass) >= 2 * 1.105 * (*MyMuPMuM5MassErr_Mu14)[it] && fabs (Mass14t - phi_mass) >= 2 * 1.105 * (*MyMuPMuM5MassErr_Mu14)[it] && fabs (Mass14t - jpsi_mass) >= 2 * 1.105 * (*MyMuPMuM5MassErr_Mu14)[it] && fabs (Mass23t - omega_mass) >= 2 * 1.105 * (*MyMuPMuM6MassErr_Mu23)[it] && fabs (Mass23t - phi_mass) >= 2 * 1.105 * (*MyMuPMuM6MassErr_Mu23)[it] && fabs (Mass23t - jpsi_mass) >= 2 * 1.105 * (*MyMuPMuM6MassErr_Mu23)[it]) RemoveLowMass1324_inOS = true; } if (pair1423_OS && UpsTrig ) { if ( fabs (Mass12t - omega_mass) >= 2 * 1.105 * (*MyMuPMuM1MassErr_Mu12)[it] && fabs (Mass12t - phi_mass) >= 2 * 1.105 * (*MyMuPMuM1MassErr_Mu12)[it] && fabs (Mass12t - jpsi_mass) >= 2 * 1.105 * (*MyMuPMuM1MassErr_Mu12)[it] && fabs (Mass34t - omega_mass) >= 2 * 1.105 * (*MyMuPMuM2MassErr_Mu34)[it] && fabs (Mass34t - phi_mass) >= 2 * 1.105 * (*MyMuPMuM2MassErr_Mu34)[it] && fabs (Mass34t - jpsi_mass) >= 2 * 1.105 * (*MyMuPMuM2MassErr_Mu34)[it] && fabs (Mass13t - omega_mass) >= 2 * 1.105 * (*MyMuPMuM3MassErr_Mu13)[it] && fabs (Mass13t - phi_mass) >= 2 * 1.105 * (*MyMuPMuM3MassErr_Mu13)[it] && fabs (Mass13t - jpsi_mass) >= 2 * 1.105 * (*MyMuPMuM3MassErr_Mu13)[it] && fabs (Mass24t - omega_mass) >= 2 * 1.105 * (*MyMuPMuM4MassErr_Mu24)[it] && fabs (Mass24t - phi_mass) >= 2 * 1.105 * (*MyMuPMuM4MassErr_Mu24)[it] && fabs (Mass24t - jpsi_mass) >= 2 * 1.105 * (*MyMuPMuM4MassErr_Mu24)[it] ) RemoveLowMass1423_inOS = true; } //SAME SIGNS if (pair1234_SS && UpsTrig ) { if ( fabs (Mass13t - omega_mass) >= 2 * 1.105 * (*MyMuPMuM3MassErr_Mu13)[it] && fabs (Mass13t - phi_mass) >= 2 * 1.105 * (*MyMuPMuM3MassErr_Mu13)[it] && fabs (Mass13t - jpsi_mass) >= 2 * 1.105 * (*MyMuPMuM3MassErr_Mu13)[it] && fabs (Mass24t - omega_mass) >= 2 * 1.105 * (*MyMuPMuM4MassErr_Mu24)[it] && fabs (Mass24t - phi_mass) >= 2 * 1.105 * (*MyMuPMuM4MassErr_Mu24)[it] && fabs (Mass24t - jpsi_mass) >= 2 * 1.105 * (*MyMuPMuM4MassErr_Mu24)[it] && fabs (Mass14t - omega_mass) >= 2 * 1.105 * (*MyMuPMuM5MassErr_Mu14)[it] && fabs (Mass14t - phi_mass) >= 2 * 1.105 * (*MyMuPMuM5MassErr_Mu14)[it] && fabs (Mass14t - jpsi_mass) >= 2 * 1.105 * (*MyMuPMuM5MassErr_Mu14)[it] && fabs (Mass23t - omega_mass) >= 2 * 1.105 * (*MyMuPMuM6MassErr_Mu23)[it] && fabs (Mass23t - phi_mass) >= 2 * 1.105 * (*MyMuPMuM6MassErr_Mu23)[it] && fabs (Mass23t - jpsi_mass) >= 2 * 1.105 * (*MyMuPMuM6MassErr_Mu23)[it]) RemoveLowMass1234_inSS = true; } if (pair1324_SS && UpsTrig ) { if ( fabs (Mass12t - omega_mass) >= 2 * 1.105 * (*MyMuPMuM1MassErr_Mu12)[it] && fabs (Mass12t - phi_mass) >= 2 * 1.105 * (*MyMuPMuM1MassErr_Mu12)[it] && fabs (Mass12t - jpsi_mass) >= 2 * 1.105 * (*MyMuPMuM1MassErr_Mu12)[it] && fabs (Mass34t - omega_mass) >= 2 * 1.105 * (*MyMuPMuM2MassErr_Mu34)[it] && fabs (Mass34t - phi_mass) >= 2 * 1.105 * (*MyMuPMuM2MassErr_Mu34)[it] && fabs (Mass34t - jpsi_mass) >= 2 * 1.105 * (*MyMuPMuM2MassErr_Mu34)[it] && fabs (Mass14t - omega_mass) >= 2 * 1.105 * (*MyMuPMuM5MassErr_Mu14)[it] && fabs (Mass14t - phi_mass) >= 2 * 1.105 * (*MyMuPMuM5MassErr_Mu14)[it] && fabs (Mass14t - jpsi_mass) >= 2 * 1.105 * (*MyMuPMuM5MassErr_Mu14)[it] && fabs (Mass23t - omega_mass) >= 2 * 1.105 * (*MyMuPMuM6MassErr_Mu23)[it] && fabs (Mass23t - phi_mass) >= 2 * 1.105 * (*MyMuPMuM6MassErr_Mu23)[it] && fabs (Mass23t - jpsi_mass) >= 2 * 1.105 * (*MyMuPMuM6MassErr_Mu23)[it]) RemoveLowMass1324_inSS = true; } if (pair1423_SS && UpsTrig ) { if ( fabs (Mass12t - omega_mass) >= 2 * 1.105 * (*MyMuPMuM1MassErr_Mu12)[it] && fabs (Mass12t - phi_mass) >= 2 * 1.105 * (*MyMuPMuM1MassErr_Mu12)[it] && fabs (Mass12t - jpsi_mass) >= 2 * 1.105 * (*MyMuPMuM1MassErr_Mu12)[it] && fabs (Mass34t - omega_mass) >= 2 * 1.105 * (*MyMuPMuM2MassErr_Mu34)[it] && fabs (Mass34t - phi_mass) >= 2 * 1.105 * (*MyMuPMuM2MassErr_Mu34)[it] && fabs (Mass34t - jpsi_mass) >= 2 * 1.105 * (*MyMuPMuM2MassErr_Mu34)[it] && fabs (Mass13t - omega_mass) >= 2 * 1.105 * (*MyMuPMuM3MassErr_Mu13)[it] && fabs (Mass13t - phi_mass) >= 2 * 1.105 * (*MyMuPMuM3MassErr_Mu13)[it] && fabs (Mass13t - jpsi_mass) >= 2 * 1.105 * (*MyMuPMuM3MassErr_Mu13)[it] && fabs (Mass24t - omega_mass) >= 2 * 1.105 * (*MyMuPMuM4MassErr_Mu24)[it] && fabs (Mass24t - phi_mass) >= 2 * 1.105 * (*MyMuPMuM4MassErr_Mu24)[it] && fabs (Mass24t - jpsi_mass) >= 2 * 1.105 * (*MyMuPMuM4MassErr_Mu24)[it] ) RemoveLowMass1423_inSS = true; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //low mass 4 GeV cut bool LowMassCut1234_inOS = false; bool LowMassCut1324_inOS = false; bool LowMassCut1423_inOS = false; bool LowMassCut1234_inSS = false; bool LowMassCut1324_inSS = false; bool LowMassCut1423_inSS = false; if (pair1234_OS && UpsTrig ) { if ( Mass13t > 4.0 && Mass24t > 4.0 && Mass14t > 4.0 && Mass23t > 4.0 ) { LowMassCut1234_inOS = true;} } if (pair1324_OS && UpsTrig ) { if ( Mass12t > 4.0 && Mass34t > 4.0 && Mass14t > 4.0 && Mass23t > 4.0 ) { LowMassCut1324_inOS = true;} } if (pair1423_OS && UpsTrig ) { if ( Mass12t > 4.0 && Mass34t > 4.0 && Mass13t > 4.0 && Mass24t > 4.0 ) { LowMassCut1423_inOS = true;} } if (pair1234_SS && UpsTrig ) { if ( Mass13t > 4.0 && Mass24t > 4.0 && Mass14t > 4.0 && Mass23t > 4.0 ) { LowMassCut1234_inSS = true;} } if (pair1324_SS && UpsTrig ) { if ( Mass12t > 4.0 && Mass34t > 4.0 && Mass14t > 4.0 && Mass23t > 4.0 ) { LowMassCut1324_inSS = true;} } if (pair1423_SS && UpsTrig ) { if ( Mass12t > 4.0 && Mass34t > 4.0 && Mass13t > 4.0 && Mass24t > 4.0 ) { LowMassCut1423_inSS = true;} } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //trigger matching is applied to 2 muons which are coming from upsilon bool TrigMatch12_inOS = false; bool TrigMatch34_inOS = false; bool TrigMatch13_inOS = false; bool TrigMatch24_inOS = false; bool TrigMatch14_inOS = false; bool TrigMatch23_inOS = false; bool TrigMatch12_inSS = false; bool TrigMatch13_inSS = false; bool TrigMatch14_inSS = false; if (pair1234_OS && UpsTrig && UpsPair12_inOS) { if ( (*MyMu1TrigMatchVtxSD)[it] && (*MyMu2TrigMatchVtxSD)[it] ){ TrigMatch12_inOS = true;}} if (pair1234_OS && UpsTrig && UpsPair34_inOS) { if ((*MyMu3TrigMatchVtxSD)[it] && (*MyMu4TrigMatchVtxSD)[it] ){ TrigMatch34_inOS = true;}} if (pair1324_OS && UpsTrig && UpsPair13_inOS) { if ((*MyMu1TrigMatchVtxSD)[it] && (*MyMu3TrigMatchVtxSD)[it] ){ TrigMatch13_inOS = true;}} if (pair1324_OS && UpsTrig && UpsPair24_inOS) { if ((*MyMu2TrigMatchVtxSD)[it] && (*MyMu4TrigMatchVtxSD)[it] ){ TrigMatch24_inOS = true;}} if (pair1423_OS && UpsTrig && UpsPair14_inOS) { if ((*MyMu1TrigMatchVtxSD)[it] && (*MyMu4TrigMatchVtxSD)[it] ){ TrigMatch14_inOS = true;}} if (pair1423_OS && UpsTrig && UpsPair23_inOS) { if ((*MyMu2TrigMatchVtxSD)[it] && (*MyMu3TrigMatchVtxSD)[it] ){ TrigMatch23_inOS = true;}} if (pair1234_SS && UpsTrig && UpsPair12_inSS) { if ( (*MyMu1TrigMatchVtxSD)[it] && (*MyMu2TrigMatchVtxSD)[it] ){ TrigMatch12_inSS = true;}} if (pair1324_SS && UpsTrig && UpsPair13_inSS) { if ((*MyMu1TrigMatchVtxSD)[it] && (*MyMu3TrigMatchVtxSD)[it] ){ TrigMatch13_inSS = true;}} if (pair1423_SS && UpsTrig && UpsPair14_inSS) { if ((*MyMu1TrigMatchVtxSD)[it] && (*MyMu4TrigMatchVtxSD)[it] ){ TrigMatch14_inSS = true;}} //added trigger matching in Y(1S)Y(1S) for background study //trigger matching is applied to 2 pairs which are upsilon bool TrigMatch1234_inOS_Bkg = false; bool TrigMatch1324_inOS_Bkg = false; bool TrigMatch1423_inOS_Bkg = false; if (pair1234_OS && UpsTrig && SigmaC1234_inOS_Bkg ) { if ( (*MyMu1TrigMatchVtxSD)[it] && (*MyMu2TrigMatchVtxSD)[it] && (*MyMu3TrigMatchVtxSD)[it] && (*MyMu4TrigMatchVtxSD)[it]){ TrigMatch1234_inOS_Bkg = true;}} if (pair1324_OS && UpsTrig && SigmaC1324_inOS_Bkg) { if ((*MyMu1TrigMatchVtxSD)[it] && (*MyMu3TrigMatchVtxSD)[it] && (*MyMu2TrigMatchVtxSD)[it] && (*MyMu4TrigMatchVtxSD)[it]){ TrigMatch1324_inOS_Bkg = true;}} if (pair1423_OS && UpsTrig && SigmaC1423_inOS_Bkg) { if ((*MyMu1TrigMatchVtxSD)[it] && (*MyMu4TrigMatchVtxSD)[it] && (*MyMu2TrigMatchVtxSD)[it] && (*MyMu3TrigMatchVtxSD)[it]){ TrigMatch1423_inOS_Bkg = true;}} /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////COMBINED: OS bool mypair1234OS_Cmbn_1 = false; bool mypair1234OS_Cmbn_2= false; bool mypair1234OS_Cmbn_3 = false; bool mypair1234OS_Cmbn_4 = false; bool mypair1234OS_Cmbn_5 = false; bool mypair1234OS_Cmbn_6 = false; bool mypair1234OS_Cmbn_7 = false; bool mypair1234OS_Cmbn_8 = false; bool mypair1234OS_Cmbn_9 = false; bool mypair1324OS_Cmbn_1 = false; bool mypair1324OS_Cmbn_2 = false; bool mypair1324OS_Cmbn_3 = false; bool mypair1324OS_Cmbn_4 = false; bool mypair1324OS_Cmbn_5 = false; bool mypair1324OS_Cmbn_6= false; bool mypair1324OS_Cmbn_7 = false; bool mypair1324OS_Cmbn_8 = false; bool mypair1324OS_Cmbn_9 = false; bool mypair1423OS_Cmbn_1 = false; bool mypair1423OS_Cmbn_2 = false; bool mypair1423OS_Cmbn_3 = false; bool mypair1423OS_Cmbn_4 = false; bool mypair1423OS_Cmbn_5 = false; bool mypair1423OS_Cmbn_6= false; bool mypair1423OS_Cmbn_7 = false; bool mypair1423OS_Cmbn_8 = false; bool mypair1423OS_Cmbn_9 = false; if (pair1234_OS ) { if (UpsTrig){ //events passing trigger mypair1234OS_Cmbn_1 =true; if (FourMuonVtxProb) { // events passing vertex prob mypair1234OS_Cmbn_2 =true; if (PtCut2){ // events passing Pt cut mypair1234OS_Cmbn_3 =true; if (EtaCut){ //events passing eta cut mypair1234OS_Cmbn_4 =true; if ( pair1234_OS && (UpsPair12_inOS || UpsPair34_inOS ) ){ //events in which closer upsilon is found mypair1234OS_Cmbn_5 =true; if ( pair1234_OS && (SigmaC12_inOS||SigmaC34_inOS) ) {// sigma cut on upsilon mypair1234OS_Cmbn_6 =true; if ( pair1234_OS && (ChiProb12_inOS||ChiProb34_inOS) ) {//chi prob cut on only upsilon pair mypair1234OS_Cmbn_7=true; if ( pair1234_OS && (TrigMatch12_inOS||TrigMatch34_inOS) ) { //trigger matching mypair1234OS_Cmbn_8=true; if ( pair1234_OS && RemoveLowMass1234_inOS) {//remove low mass mesons w,phi,jpsi mypair1234OS_Cmbn_9 =true; }}}}}}}}}} if (pair1324_OS ) { if (UpsTrig){ //events passing trigger mypair1324OS_Cmbn_1 =true; if (FourMuonVtxProb) { // events passing vertex prob mypair1324OS_Cmbn_2 =true; if (PtCut2){ // events passing Pt cut mypair1324OS_Cmbn_3 =true; if (EtaCut){ //events passing eta cut mypair1324OS_Cmbn_4 =true; if ( pair1324_OS && (UpsPair13_inOS || UpsPair24_inOS ) ){ //events in which closer upsilon is found mypair1324OS_Cmbn_5 =true; if ( pair1324_OS && (SigmaC13_inOS||SigmaC24_inOS) ) {// sigma cut on upsilon mypair1324OS_Cmbn_6 =true; if ( pair1324_OS && (ChiProb13_inOS||ChiProb24_inOS) ) {//chi prob cut on only upsilon pair mypair1324OS_Cmbn_7=true; if ( pair1324_OS && (TrigMatch13_inOS||TrigMatch24_inOS) ) { //trigger matching mypair1324OS_Cmbn_8=true; if ( pair1324_OS && RemoveLowMass1324_inOS) {//remove low mass mesons w,phi,jpsi mypair1324OS_Cmbn_9 =true; }}}}}}}}}} if ( pair1423_OS) { if (UpsTrig){ //events passing trigger mypair1423OS_Cmbn_1 =true; if (FourMuonVtxProb) { // events passing vertex prob mypair1423OS_Cmbn_2 =true; if (PtCut2){ // events passing Pt cut mypair1423OS_Cmbn_3 =true; if (EtaCut){ //events passing eta cut mypair1423OS_Cmbn_4 =true; if ( pair1423_OS && (UpsPair14_inOS || UpsPair23_inOS ) ){ //events in which closer upsilon is found mypair1423OS_Cmbn_5 =true; if ( pair1423_OS && (SigmaC14_inOS||SigmaC23_inOS) ) {// sigma cut on upsilon mypair1423OS_Cmbn_6 =true; if ( pair1423_OS && (ChiProb14_inOS||ChiProb23_inOS) ) {//chi prob cut on only upsilon pair mypair1423OS_Cmbn_7=true; if ( pair1423_OS && (TrigMatch14_inOS||TrigMatch23_inOS) ) { //trigger matching mypair1423OS_Cmbn_8=true; if ( pair1423_OS && RemoveLowMass1423_inOS) {//remove low mass mesons w,phi,jpsi mypair1423OS_Cmbn_9 =true; }}}}}}}}}} if(mypair1234OS_Cmbn_1) myoutfile1 << "Pair1234_OS " << (*MyFourMuonVtxCL)[it] << " " << UpsPairMass << " " << OtherPairMass << " " << myFourMuMass << " "<< upleadmupT << " " << upsubleadmupT << " " << upleadmuEta << " " << upsubleadmuEta << " " << leadmupT << " " << subleadmupT << " " << leadmuEta << " " << subleadmuEta << " " << Mass12t << " " << Mass34t << " " << Mass13t << " " << Mass24t << " " << Mass14t << " " << Mass23t << " " << nMu << " " << runNum << " " << evtNum << " " << lumiNum << endl; if(mypair1324OS_Cmbn_1) myoutfile1 << "Pair1324_OS " << (*MyFourMuonVtxCL)[it] << " " << UpsPairMass << " " << OtherPairMass << " " << myFourMuMass << " "<< upleadmupT << " " << upsubleadmupT << " " << upleadmuEta << " " << upsubleadmuEta << " " << leadmupT << " " << subleadmupT << " " << leadmuEta << " " << subleadmuEta << " " << Mass12t << " " << Mass34t << " " << Mass13t << " " << Mass24t << " " << Mass14t << " " << Mass23t << " " << nMu << " " << runNum << " " << evtNum << " " << lumiNum << endl; if(mypair1423OS_Cmbn_1) myoutfile1 << "Pair1423_OS " << (*MyFourMuonVtxCL)[it] << " " << UpsPairMass << " " <