void myDiPho_ggXsignal_GMSB_fnl(int gmsb_cut=1,int Nevents=-1){ // these may already be loaded in .rootrc // gSystem->Load("./shlib/$BFARCH/libStntuple_photon.so"); // gSystem->Load("./shlib/$BFARCH/libStntuple_ana.so"); gSystem->CompileMacro("/home/elee/Stn_614_New/Stntuple/ana/TMyUtil.cc","k"); gSystem->CompileMacro("/home/elee/Stn_614_New/Stntuple/ana/TGoodRun.cc","k"); gSystem->CompileMacro("/home/elee/Stn_614_New/Stntuple/ana/TMyEventFilterModule_ggX.cc","k"); gSystem->CompileMacro("/home/elee/Stn_614_New/Stntuple/ana/TMyVertexFilterModuleA_ntu.cc","k"); gSystem->CompileMacro("/home/elee/Stn_614_New/Stntuple/ana/TMyPhotonFilterModule_ggX.cc","k"); gSystem->CompileMacro("/home/elee/Stn_614_New/Stntuple/ana/TMyZeeFilterModule_ggX.cc","k"); gSystem->CompileMacro("/home/elee/Stn_614_New/Stntuple/ana/TMyJetFilterModule_GMSB_newMetModel_U2Gv8sig.cc","k"); //===================== TStnAna* x = new TStnAna("/raid2/elee/GMSB/data/"); //__________________________________________________________________________________ // ******** MyEventFilter part *************** //---------------------------------------------------------------------------------- m = new TMyEventFilterModule(); m->SetDataType(1); // 0-real dijet data, 1-MC & photon data m->SetJetType(0); // 0-JetClu04, 1-JetClu07, 2-JetClu10, m->SetMinNEmObj(2); m->SetMinNvx(1); m->SetUseFindSpike(1); m->SetUseSpikeFilter(1); //_________________________ to select all from good run file m->SetUseMyGoodRunList(1); m->SetUseOldNewGoodRun(1); m->SetUseMyEventList(0); m->SetUseExcludeEvent(0); //________________________ use this configuration to exclude certain events // m->SetUseMyGoodRunList(0); // m->SetUseOldNewGoodRun(1); // m->SetUseMyEventList(0); // using my event list // m->SetUseExcludeEvent(1); // using exclude list, also needs my event list // m->SetMyEventRunFile("Stntuple/ana/myExclude_ggX_pho00v14final.dat"); // only events which pass my cuts but to be excluded from side band // m->SetMyGoodRunFile("/home/elee/Stn_614_New/Stntuple/ana/myGoodrun_v17_pho_02.dat"); m->SetMyGoodRunFile("/home/elee/Stn_614_New/Stntuple/ana/myGoodrun_v23_pho_00_EMtime.dat"); if(gmsb_cut==0) m->SetDatFileName("results/event_ggXsignal_GMSBana_Et40Ht150_sig5_052908.dat"); if(gmsb_cut==1) m->SetDatFileName("results/event_ggXsignal_GMSBana_Et30Ht150_sig5_052908.dat"); if(gmsb_cut==2) m->SetDatFileName("results/event_ggXsignal_GMSBana_Et40Ht125_sig5_052908.dat"); if(gmsb_cut==3) m->SetDatFileName("results/event_ggXsignal_GMSBana_Et50Ht175_sig5_052908.dat"); //__________________________________________________________________________________ // ******** MyVertexFilter part *************** //---------------------------------------------------------------------------------- m1 = new TMyVertexFilterModule(); //---------- My Vertex Filter Initialization m1->SetMinZvx_best(0.0); m1->SetMaxZvx_best(60.0); m1->SetMinNvx12(1); // this is default for ggX analysis // m1->SetMinVxclass_best(12); // vxCut1 in studies // m1->SetMaxZsep_best2any(90.0); // vxCut2 in studies // m1->SetMaxZvx(60.0); // vxCut3 in studies if(gmsb_cut==0) m1->SetDatFileName("results/vertex_ggXsignal_GMSBana_Et40Ht150_sig5_052908.dat"); if(gmsb_cut==1) m1->SetDatFileName("results/vertex_ggXsignal_GMSBana_Et30Ht150_sig5_052908.dat"); if(gmsb_cut==2) m1->SetDatFileName("results/vertex_ggXsignal_GMSBana_Et40Ht125_sig5_052908.dat"); if(gmsb_cut==3) m1->SetDatFileName("results/vertex_ggXsignal_GMSBana_Et50Ht175_sig5_052908.dat"); // ******** EmTimingModule *************** //---------------------------------------------------------------------------------- m2 = new TEmTimingModule(); //---------- Max's EmTiming // ******** MyPhotonFilter part *************** //---------------------------------------------------------------------------------- m3 = new TMyPhotonFilterModule(); //---------- My Vertex Filter Initialization // ***** use default photon selection cuts //___________________________________________________________ m3->SetUseEngCorr(0); // use Ray's 2.4% photon energy corrections m3->SetMaxEta(1.5); // relaxed cut, to make sure all central photons pass the cuts m3->SetMinEtcor(0,13.0); // very relaxed to allow all triggered events m3->SetMinEtcor(1,13.0); m3->SetEtfnl_trh(13.0); // m3->SetUseVerbose(1); //---------- cuts for side band -------------------------- // m3->SetMaxPtmax(0,0.0); // m3->SetMaxPtmax(1,0.25); // m3->SetMaxTrkIso4(0,5.0); // m3->SetMaxTrkIso4(1,0.0); // m3->SetMaxCalIso4_corr(0,0.15); // m3->SetMaxCalIso4_corr(1,3.0); // m3->SetMaxCalIso4_corr(2,0.02); // m3->SetMaxHADEM(1,0.125); // m3->SetMaxHADEM(2,0.0); // m3->SetMax2ndCesEt(0,1.0E6); // essentially no cut on 2nd CES // m3->SetMax2ndCesEt(1,1.0E6); // m3->SetMax2ndCesEt(2,1.0E6); //__________ end of cuts for side band ___________________ // m3->SetPrintMyEvent(1); m3->SetUseBeamHaloCut(1); m3->SetHaloCutScenario(3); m3->SetUseCosmicsCut(1); m3->SetUsePhoFakeCut(1); m3->SetUseTimingCut(1); m3->SetDelTimeThr(4.084); // 4sigma m3->SetPhoTimeThr(6.66); //4sigma m3->SetMinDelRcosm(0.0); // esentially no cut m3->SetUsePhoTrig(0); // select di-pho trigger events only m3->SetPrintPhoList(1); if(gmsb_cut==0) m3->SetDatFileName("results/photon_ggXsignal_GMSBana_Et40Ht150_sig5_052908.dat"); if(gmsb_cut==1) m3->SetDatFileName("results/photon_ggXsignal_GMSBana_Et30Ht150_sig5_052908.dat"); if(gmsb_cut==2) m3->SetDatFileName("results/photon_ggXsignal_GMSBana_Et40Ht125_sig5_052908.dat"); if(gmsb_cut==3) m3->SetDatFileName("results/photon_ggXsignal_GMSBana_Et50Ht175_sig5_052908.dat"); //__________________________________________________________________________________ // ******** MyZeeFilter part *************** //---------------------------------------------------------------------------------- m4 = new TMyZeeFilterModule(); //---------- My Zee Filter Initialization m4->SetUseZeeCut(0); // incl. electron mode m4->SetUseConvCut(0); // do not use conversion cut m4->SetCemMinEt(13.0); m4->SetTrkMinPt(6.5); m4->SetPemMinEt(13.0); m4->SetPemMaxEtaPes(3.0); // extend reach for PEM electrons m4->SetMinNeleL(0); m4->SetMaxNeleL(100); m4->SetCovCotAxSegMin(1); m4->SetCovCotStSegMin(1); if(gmsb_cut==0) m4->SetDatFileName("results/zee_ggXsignal_GMSBana_Et40Ht150_sig5_052908.dat"); if(gmsb_cut==1) m4->SetDatFileName("results/zee_ggXsignal_GMSBana_Et30Ht150_sig5_052908.dat"); if(gmsb_cut==2) m4->SetDatFileName("results/zee_ggXsignal_GMSBana_Et40Ht125_sig5_052908.dat"); if(gmsb_cut==3) m4->SetDatFileName("results/zee_ggXsignal_GMSBana_Et50Ht175_sig5_052908.dat"); // ******** MyJetFilter part *************** //---------------------------------------------------------------------------------- m5 = new TMyJetFilterModule(); //---------- My Vertex Filter Initialization m5->SetUnclParamSwitch(0); // Use sideband parametrization as default m5->SetSampleID(0); // 0==signal // m5->SetMinDeltaPhiJMet(-10.0); // every event should pass this cut // m5->SetMaxDeltaPhiJMet(0.3); m5->SetNpointsToGenerate(10); // m5->SetNpointsToGenerate(1); //------- GMSB stuff ---------- if(gmsb_cut==0) // default { m5->SetSelectGMSBevent(1); m5->SetGMSBcutEt1pho(0,0.0); m5->SetGMSBcutHt(0,0.0); m5->SetGMSBcutMetsig(0,0.0); m5->SetGMSBcutEt1pho(1,0.0); m5->SetGMSBcutHt(1,0.0); m5->SetGMSBcutMetsig(1,0.0); m5->SetGMSBcutEt1pho(2,0.0); m5->SetGMSBcutHt(2,0.0); m5->SetGMSBcutMetsig(2,0.0); double dphi_cut=TMath::Pi()-0.00; // use increment of 0.03 for optimization because dPhi sharply peaks at pi. m5->SetGMSBcutDelPhi0(0,dphi_cut); m5->SetGMSBcutDelPhi0(1,dphi_cut); m5->SetGMSBcutDelPhi0(2,dphi_cut); } if(gmsb_cut==1) // syst { m5->SetSelectGMSBevent(1); m5->SetGMSBcutEt1pho(0,0.0); m5->SetGMSBcutHt(0,200.0); m5->SetGMSBcutMetsig(0,3.0); m5->SetGMSBcutEt1pho(1,0.0); m5->SetGMSBcutHt(1,200.0); m5->SetGMSBcutMetsig(1,3.0); m5->SetGMSBcutEt1pho(2,0.0); m5->SetGMSBcutHt(2,200.0); m5->SetGMSBcutMetsig(2,3.0); double dphi_cut=TMath::Pi()-0.35; // use increment of 0.03 for optimization because dPhi sharply peaks at pi. m5->SetGMSBcutDelPhi0(0,dphi_cut); m5->SetGMSBcutDelPhi0(1,dphi_cut); m5->SetGMSBcutDelPhi0(2,dphi_cut); } if(gmsb_cut==2) // syst { m5->SetSelectGMSBevent(1); m5->SetGMSBcutEt1pho(0,0.0); m5->SetGMSBcutHt(0,125.0); m5->SetGMSBcutMetsig(0,3.0); m5->SetGMSBcutEt1pho(1,0.0); m5->SetGMSBcutHt(1,125.0); m5->SetGMSBcutMetsig(1,3.0); m5->SetGMSBcutEt1pho(2,0.0); m5->SetGMSBcutHt(2,125.0); m5->SetGMSBcutMetsig(2,3.0); double dphi_cut=TMath::Pi()-0.15; // use increment of 0.03 for optimization because dPhi sharply peaks at pi. m5->SetGMSBcutDelPhi0(0,dphi_cut); m5->SetGMSBcutDelPhi0(1,dphi_cut); m5->SetGMSBcutDelPhi0(2,dphi_cut); } if(gmsb_cut==3) // syst { m5->SetSelectGMSBevent(1); m5->SetGMSBcutEt1pho(0,0.0); m5->SetGMSBcutHt(0,175.0); m5->SetGMSBcutMetsig(0,3.0); m5->SetGMSBcutEt1pho(1,0.0); m5->SetGMSBcutHt(1,175.0); m5->SetGMSBcutMetsig(1,3.0); m5->SetGMSBcutEt1pho(2,0.0); m5->SetGMSBcutHt(2,175.0); m5->SetGMSBcutMetsig(2,3.0); double dphi_cut=TMath::Pi()-0.15; // use increment of 0.03 for optimization because dPhi sharply peaks at pi. m5->SetGMSBcutDelPhi0(0,dphi_cut); m5->SetGMSBcutDelPhi0(1,dphi_cut); m5->SetGMSBcutDelPhi0(2,dphi_cut); } if(gmsb_cut==4) // syst { m5->SetSelectGMSBevent(1); m5->SetGMSBcutEt1pho(0,0.0); m5->SetGMSBcutHt(0,225.0); m5->SetGMSBcutMetsig(0,3.0); m5->SetGMSBcutEt1pho(1,0.0); m5->SetGMSBcutHt(1,225.0); m5->SetGMSBcutMetsig(1,3.0); m5->SetGMSBcutEt1pho(2,0.0); m5->SetGMSBcutHt(2,225.0); m5->SetGMSBcutMetsig(2,3.0); double dphi_cut=TMath::Pi()-0.15; // use increment of 0.03 for optimization because dPhi sharply peaks at pi. m5->SetGMSBcutDelPhi0(0,dphi_cut); m5->SetGMSBcutDelPhi0(1,dphi_cut); m5->SetGMSBcutDelPhi0(2,dphi_cut); } if(gmsb_cut==5) // syst { m5->SetSelectGMSBevent(1); m5->SetGMSBcutEt1pho(0,0.0); m5->SetGMSBcutHt(0,275.0); m5->SetGMSBcutMetsig(0,3.0); m5->SetGMSBcutEt1pho(1,0.0); m5->SetGMSBcutHt(1,275.0); m5->SetGMSBcutMetsig(1,3.0); m5->SetGMSBcutEt1pho(2,0.0); m5->SetGMSBcutHt(2,275.0); m5->SetGMSBcutMetsig(2,3.0); double dphi_cut=TMath::Pi()-0.15; // use increment of 0.03 for optimization because dPhi sharply peaks at pi. m5->SetGMSBcutDelPhi0(0,dphi_cut); m5->SetGMSBcutDelPhi0(1,dphi_cut); m5->SetGMSBcutDelPhi0(2,dphi_cut); } if(gmsb_cut==6) // syst { m5->SetSelectGMSBevent(1); m5->SetGMSBcutEt1pho(0,0.0); m5->SetGMSBcutHt(0,200.0); m5->SetGMSBcutMetsig(0,0.0); m5->SetGMSBcutEt1pho(1,0.0); m5->SetGMSBcutHt(1,200.0); m5->SetGMSBcutMetsig(1,0.0); m5->SetGMSBcutEt1pho(2,0.0); m5->SetGMSBcutHt(2,200.0); m5->SetGMSBcutMetsig(2,0.0); double dphi_cut=TMath::Pi()-0.15; // use increment of 0.03 for optimization because dPhi sharply peaks at pi. m5->SetGMSBcutDelPhi0(0,dphi_cut); m5->SetGMSBcutDelPhi0(1,dphi_cut); m5->SetGMSBcutDelPhi0(2,dphi_cut); } if(gmsb_cut==7) // syst { m5->SetSelectGMSBevent(1); m5->SetGMSBcutEt1pho(0,0.0); m5->SetGMSBcutHt(0,200.0); m5->SetGMSBcutMetsig(0,2.0); m5->SetGMSBcutEt1pho(1,0.0); m5->SetGMSBcutHt(1,200.0); m5->SetGMSBcutMetsig(1,2.0); m5->SetGMSBcutEt1pho(2,0.0); m5->SetGMSBcutHt(2,200.0); m5->SetGMSBcutMetsig(2,2.0); double dphi_cut=TMath::Pi()-0.15; // use increment of 0.03 for optimization because dPhi sharply peaks at pi. m5->SetGMSBcutDelPhi0(0,dphi_cut); m5->SetGMSBcutDelPhi0(1,dphi_cut); m5->SetGMSBcutDelPhi0(2,dphi_cut); } if(gmsb_cut==8) // syst { m5->SetSelectGMSBevent(1); m5->SetGMSBcutEt1pho(0,0.0); m5->SetGMSBcutHt(0,200.0); m5->SetGMSBcutMetsig(0,4.0); m5->SetGMSBcutEt1pho(1,0.0); m5->SetGMSBcutHt(1,200.0); m5->SetGMSBcutMetsig(1,4.0); m5->SetGMSBcutEt1pho(2,0.0); m5->SetGMSBcutHt(2,200.0); m5->SetGMSBcutMetsig(2,4.0); double dphi_cut=TMath::Pi()-0.15; // use increment of 0.03 for optimization because dPhi sharply peaks at pi. m5->SetGMSBcutDelPhi0(0,dphi_cut); m5->SetGMSBcutDelPhi0(1,dphi_cut); m5->SetGMSBcutDelPhi0(2,dphi_cut); } if(gmsb_cut==9) // syst { m5->SetSelectGMSBevent(1); m5->SetGMSBcutEt1pho(0,0.0); m5->SetGMSBcutHt(0,200.0); m5->SetGMSBcutMetsig(0,7.0); m5->SetGMSBcutEt1pho(1,0.0); m5->SetGMSBcutHt(1,200.0); m5->SetGMSBcutMetsig(1,7.0); m5->SetGMSBcutEt1pho(2,0.0); m5->SetGMSBcutHt(2,200.0); m5->SetGMSBcutMetsig(2,7.0); double dphi_cut=TMath::Pi()-0.15; // use increment of 0.03 for optimization because dPhi sharply peaks at pi. m5->SetGMSBcutDelPhi0(0,dphi_cut); m5->SetGMSBcutDelPhi0(1,dphi_cut); m5->SetGMSBcutDelPhi0(2,dphi_cut); } if(gmsb_cut==10) // syst { m5->SetSelectGMSBevent(1); m5->SetGMSBcutEt1pho(0,0.0); m5->SetGMSBcutHt(0,200.0); m5->SetGMSBcutMetsig(0,3.0); m5->SetGMSBcutEt1pho(1,0.0); m5->SetGMSBcutHt(1,200.0); m5->SetGMSBcutMetsig(1,3.0); m5->SetGMSBcutEt1pho(2,0.0); m5->SetGMSBcutHt(2,200.0); m5->SetGMSBcutMetsig(2,3.0); double dphi_cut=TMath::Pi()-0.00; // use increment of 0.03 for optimization because dPhi sharply peaks at pi. m5->SetGMSBcutDelPhi0(0,dphi_cut); m5->SetGMSBcutDelPhi0(1,dphi_cut); m5->SetGMSBcutDelPhi0(2,dphi_cut); } if(gmsb_cut==11) // syst { m5->SetSelectGMSBevent(1); m5->SetGMSBcutEt1pho(0,0.0); m5->SetGMSBcutHt(0,200.0); m5->SetGMSBcutMetsig(0,3.0); m5->SetGMSBcutEt1pho(1,0.0); m5->SetGMSBcutHt(1,200.0); m5->SetGMSBcutMetsig(1,3.0); m5->SetGMSBcutEt1pho(2,0.0); m5->SetGMSBcutHt(2,200.0); m5->SetGMSBcutMetsig(2,3.0); double dphi_cut=TMath::Pi()-0.10; // use increment of 0.03 for optimization because dPhi sharply peaks at pi. m5->SetGMSBcutDelPhi0(0,dphi_cut); m5->SetGMSBcutDelPhi0(1,dphi_cut); m5->SetGMSBcutDelPhi0(2,dphi_cut); } if(gmsb_cut==12) // syst { m5->SetSelectGMSBevent(1); m5->SetGMSBcutEt1pho(0,0.0); m5->SetGMSBcutHt(0,200.0); m5->SetGMSBcutMetsig(0,3.0); m5->SetGMSBcutEt1pho(1,0.0); m5->SetGMSBcutHt(1,200.0); m5->SetGMSBcutMetsig(1,3.0); m5->SetGMSBcutEt1pho(2,0.0); m5->SetGMSBcutHt(2,200.0); m5->SetGMSBcutMetsig(2,3.0); double dphi_cut=TMath::Pi()-0.20; // use increment of 0.03 for optimization because dPhi sharply peaks at pi. m5->SetGMSBcutDelPhi0(0,dphi_cut); m5->SetGMSBcutDelPhi0(1,dphi_cut); m5->SetGMSBcutDelPhi0(2,dphi_cut); } if(gmsb_cut==13) // syst { m5->SetSelectGMSBevent(1); m5->SetGMSBcutEt1pho(0,0.0); m5->SetGMSBcutHt(0,200.0); m5->SetGMSBcutMetsig(0,3.0); m5->SetGMSBcutEt1pho(1,0.0); m5->SetGMSBcutHt(1,200.0); m5->SetGMSBcutMetsig(1,3.0); m5->SetGMSBcutEt1pho(2,0.0); m5->SetGMSBcutHt(2,200.0); m5->SetGMSBcutMetsig(2,3.0); double dphi_cut=TMath::Pi()-0.40; // use increment of 0.03 for optimization because dPhi sharply peaks at pi. m5->SetGMSBcutDelPhi0(0,dphi_cut); m5->SetGMSBcutDelPhi0(1,dphi_cut); m5->SetGMSBcutDelPhi0(2,dphi_cut); } //----------------------------- m5->SetSelectSigMetEvent(0); m5->SetMetSigCut(0.0); m5->SetAnalysisMode(1); //----------------------------- m5->SetSelectMetEvent(0); m5->SetSelectExoticEvent(0); m5->SetRemoveDuplicate(1); m5->SetDumpEvent(0); // dump event for duplicate studies m5->SetRemoveBadMet(1); // -1=select events with bad met; 1=remove events with bad met m5->SetDoVxSwap(1); // 0=do nothing; 1=swap vertices to minimize MET if(gmsb_cut==0) m5->SetDatFileName("results/jet_ggXsignal_GMSBana_Et40Ht150_sig5_052908.dat"); if(gmsb_cut==1) m5->SetDatFileName("results/jet_ggXsignal_GMSBana_Et30Ht150_sig5_052908.dat"); if(gmsb_cut==2) m5->SetDatFileName("results/jet_ggXsignal_GMSBana_Et40Ht125_sig5_052908.dat"); if(gmsb_cut==3) m5->SetDatFileName("results/jet_ggXsignal_GMSBana_Et50Ht175_sig5_052908.dat"); x->AddModule(m,1); x->AddModule(m1,1); x->AddModule(m2,0); x->AddModule(m3,1); x->AddModule(m4,0); x->AddModule(m5,1); x->GetInputModule()->SetPrintLevel(1); if(Nevents<0) x->Run(); else x->Run(Nevents); // else x->ProcessEvent(233035,8063862); if(gmsb_cut==0) x->SaveHist("qcd_data/myhisto_QCDdata_Ht000_dphi0.00_sig0_new.root"); if(gmsb_cut==1) x->SaveHist("qcd_data/myhisto_QCDdata_Ht200_dphi0.35_sig0_new.root"); if(gmsb_cut==2) x->SaveHist("qcd_data/myhisto_QCDdata_Ht125_dphi0.15_sig3.root"); if(gmsb_cut==3) x->SaveHist("qcd_data/myhisto_QCDdata_Ht175_dphi0.15_sig3.root"); if(gmsb_cut==4) x->SaveHist("qcd_data/myhisto_QCDdata_Ht225_dphi0.15_sig3.root"); if(gmsb_cut==5) x->SaveHist("qcd_data/myhisto_QCDdata_Ht275_dphi0.15_sig3.root"); if(gmsb_cut==6) x->SaveHist("qcd_data/myhisto_QCDdata_Ht200_dphi0.15_sig0.root"); if(gmsb_cut==7) x->SaveHist("qcd_data/myhisto_QCDdata_Ht200_dphi0.15_sig2.root"); if(gmsb_cut==8) x->SaveHist("qcd_data/myhisto_QCDdata_Ht200_dphi0.15_sig4.root"); if(gmsb_cut==9) x->SaveHist("qcd_data/myhisto_QCDdata_Ht200_dphi0.15_sig7.root"); if(gmsb_cut==10) x->SaveHist("qcd_data/myhisto_QCDdata_Ht200_dphi0.00_sig3.root"); if(gmsb_cut==11) x->SaveHist("qcd_data/myhisto_QCDdata_Ht200_dphi0.10_sig3.root"); if(gmsb_cut==12) x->SaveHist("qcd_data/myhisto_QCDdata_Ht200_dphi0.20_sig3.root"); if(gmsb_cut==13) x->SaveHist("qcd_data/myhisto_QCDdata_Ht200_dphi0.40_sig3.root"); if(gmsb_cut==0) std::cout<<" Done with GMSB cuts: Ht>000, dphi0"<200, dphi>Pi-0.35, metsig>0"<125, dphi3"<175, dphi3"<225, dphi3"<275, dphi3"<200, dphi0"<200, dphi2"<200, dphi4"<200, dphi7"<200, dphi3"<200, dphi3"<200, dphi3"<200, dphi3"<