|
[Rivet-svn] r3729 - in trunk: data/anainfo data/plotinfo src/Analysesblackhole at projects.hepforge.org blackhole at projects.hepforge.orgTue May 15 17:07:29 BST 2012
Author: richardn Date: Tue May 15 17:07:29 2012 New Revision: 3729 Log: fixes to cuts and added more plots for ATLAS_2012_CONF_2012_001 Modified: trunk/data/anainfo/ATLAS_2012_CONF_2012_001.info trunk/data/plotinfo/ATLAS_2012_CONF_2012_001.plot trunk/src/Analyses/ATLAS_2012_CONF_2012_001.cc Modified: trunk/data/anainfo/ATLAS_2012_CONF_2012_001.info ============================================================================== --- trunk/data/anainfo/ATLAS_2012_CONF_2012_001.info Mon May 14 16:25:30 2012 (r3728) +++ trunk/data/anainfo/ATLAS_2012_CONF_2012_001.info Tue May 15 17:07:29 2012 (r3729) @@ -1,9 +1,9 @@ Name: ATLAS_2012_CONF_2012_001 -Year: 2011 +Year: 2012 Summary: 4 or more lepton plus missing transverse energy SUSY search Experiment: ATLAS Collider: LHC -Status: PRELIMINARY +Status: UNVALIDATED Authors: - Peter Richardson <peter.richardson at durham.ac.uk> References: Modified: trunk/data/plotinfo/ATLAS_2012_CONF_2012_001.plot ============================================================================== --- trunk/data/plotinfo/ATLAS_2012_CONF_2012_001.plot Mon May 14 16:25:30 2012 (r3728) +++ trunk/data/plotinfo/ATLAS_2012_CONF_2012_001.plot Tue May 15 17:07:29 2012 (r3729) @@ -60,3 +60,57 @@ YLabel=$\mathrm{Events}/50$\,GeV LogY=1 # END PLOT + + + + + +# BEGIN PLOT /ATLAS_2012_CONF_2012_001/hist_lepton_pT_1 +Title=$E^e_{\mathrm{T}}(p^\mu_{\mathrm{T}})$ for the leading lepton +XLabel=$E^e_{\mathrm{T}}(p^\mu_{\mathrm{T}})$ [GeV] +YLabel=$\mathrm{Events}/10 \mathrm{GeV}$ +LogY=1 +# END PLOT +# BEGIN PLOT /ATLAS_2012_CONF_2012_001/hist_lepton_pT_2 +Title=$E^e_{\mathrm{T}}(p^\mu_{\mathrm{T}})$ for the $2^{\rm nd}$ leading lepton +XLabel=$E^e_{\mathrm{T}}(p^\mu_{\mathrm{T}})$ [GeV] +YLabel=$\mathrm{Events}/10 \mathrm{GeV}$ +LogY=1 +# END PLOT +# BEGIN PLOT /ATLAS_2012_CONF_2012_001/hist_lepton_pT_3 +Title=$E^e_{\mathrm{T}}(p^\mu_{\mathrm{T}})$ for the $3^{\rm rd}$ leading lepton +XLabel=$E^e_{\mathrm{T}}(p^\mu_{\mathrm{T}})$ [GeV] +YLabel=$\mathrm{Events}/5 \mathrm{GeV}$ +LogY=1 +# END PLOT +# BEGIN PLOT /ATLAS_2012_CONF_2012_001/hist_lepton_pT_4 +Title=$E^e_{\mathrm{T}}(p^\mu_{\mathrm{T}})$ for the $4^{\rm th}$ leading lepton +XLabel=$E^e_{\mathrm{T}}(p^\mu_{\mathrm{T}})$ [GeV] +YLabel=$\mathrm{Events}/5 \mathrm{GeV}$ +LogY=1 +# END PLOT + +# BEGIN PLOT /ATLAS_2012_CONF_2012_001/hist_njet +Title=Number of Jets +XLabel=Number of Jets +YLabel=Events +LogY=1 +# END PLOT +# BEGIN PLOT /ATLAS_2012_CONF_2012_001/hist_etmiss +Title=Missing Transverse Energy +XLabel=$E^{\rm miss}_{\mathrm{T}}$ [GeV] +YLabel=$\mathrm{Events}/20$\,GeV +LogY=1 +# END PLOT +# BEGIN PLOT /ATLAS_2012_CONF_2012_001/hist_m_SFOS +Title=Mass of SFOF lepton pair closest to the $Z^0$ mass +XLabel=$M_{\mathrm{SFOS}}$ [GeV] +YLabel=$\mathrm{Events}/20$\,GeV +LogY=1 +# END PLOT +# BEGIN PLOT /ATLAS_2012_CONF_2012_001/hist_m_eff +Title=Effective Mass +XLabel=$M_{\mathrm{eff}}$ [GeV] +YLabel=$\mathrm{Events}/50$\,GeV +LogY=1 +# END PLOT Modified: trunk/src/Analyses/ATLAS_2012_CONF_2012_001.cc ============================================================================== --- trunk/src/Analyses/ATLAS_2012_CONF_2012_001.cc Mon May 14 16:25:30 2012 (r3728) +++ trunk/src/Analyses/ATLAS_2012_CONF_2012_001.cc Tue May 15 17:07:29 2012 (r3729) @@ -68,10 +68,20 @@ _hist_leptonpT.push_back(bookHistogram1D(2,1,1)); _hist_leptonpT.push_back(bookHistogram1D(3,1,1)); _hist_leptonpT.push_back(bookHistogram1D(4,1,1)); - _hist_njet = bookHistogram1D(5,1,1); - _hist_etmiss = bookHistogram1D(6,1,1); - _hist_mSFOS = bookHistogram1D(7,1,1); - _hist_meff = bookHistogram1D(8,1,1); + _hist_njet = bookHistogram1D(5,1,1); + _hist_etmiss = bookHistogram1D(6,1,1); + _hist_mSFOS = bookHistogram1D(7,1,1); + _hist_meff = bookHistogram1D(8,1,1); + + _hist_leptonpT_MC.push_back(bookHistogram1D("hist_lepton_pT_1", 26, 0., 260)); + _hist_leptonpT_MC.push_back(bookHistogram1D("hist_lepton_pT_2", 15, 0., 150)); + _hist_leptonpT_MC.push_back(bookHistogram1D("hist_lepton_pT_3", 20, 0., 100)); + _hist_leptonpT_MC.push_back(bookHistogram1D("hist_lepton_pT_4", 20, 0., 100)); + _hist_njet_MC = bookHistogram1D("hist_njet", 7, -0.5, 6.5); + _hist_etmiss_MC = bookHistogram1D("hist_etmiss",11,0.,220.); + _hist_mSFOS_MC = bookHistogram1D("hist_m_SFOS",13,0.,260.); + _hist_meff_MC = bookHistogram1D("hist_m_eff",19,0.,950.); + _count_SR1 = bookHistogram1D("count_SR1", 1, 0., 1.); _count_SR2 = bookHistogram1D("count_SR2", 1, 0., 1.); } @@ -138,7 +148,9 @@ // only keep electrons more than R=0.4 from jets ParticleVector recon_e; - foreach ( const Particle & e, cand_e ) { + for(unsigned int ie=0;ie<cand_e.size();++ie) { + const Particle & e = cand_e[ie]; + // at least 0.4 from any jets bool away = true; foreach ( const Jet& jet, recon_jets ) { if ( deltaR(e.momentum(),jet.momentum()) < 0.4 ) { @@ -147,22 +159,33 @@ } } // and 0.1 from any muons - if ( ! away ) { - foreach ( const Particle & mu, cand_e ) { + if ( away ) { + foreach ( const Particle & mu, cand_mu ) { if ( deltaR(mu.momentum(),e.momentum()) < 0.1 ) { away = false; break; } } } + // and 0.1 from electrons + for(unsigned int ie2=0;ie2<cand_e.size();++ie2) { + if(ie==ie2) continue; + if ( deltaR(e.momentum(),cand_e[ie2].momentum()) < 0.1 ) { + away = false; + break; + } + } + // if isolated keep it if ( away ) recon_e.push_back( e ); } // only keep muons more than R=0.4 from jets ParticleVector recon_mu; - foreach ( const Particle & mu, cand_mu ) { + for(unsigned int imu=0;imu<cand_mu.size();++imu) { + const Particle & mu = cand_mu[imu]; bool away = true; + // at least 0.4 from any jets foreach ( const Jet& jet, recon_jets ) { if ( deltaR(mu.momentum(),jet.momentum()) < 0.4 ) { away = false; @@ -170,7 +193,7 @@ } } // and 0.1 from any electrona - if ( ! away ) { + if ( away ) { foreach ( const Particle & e, cand_e ) { if ( deltaR(mu.momentum(),e.momentum()) < 0.1 ) { away = false; @@ -178,6 +201,14 @@ } } } + // and 0.1 from muons + for(unsigned int imu2=0;imu2<cand_mu.size();++imu2) { + if(imu==imu2) continue; + if ( deltaR(mu.momentum(),cand_mu[imu2].momentum()) < 0.1 ) { + away = false; + break; + } + } if ( away ) recon_mu.push_back( mu ); } @@ -233,7 +264,7 @@ if(pT>40.) meff += pT; } - double mSFOS=1e30, mdiff=1e30; + double mSFOS=1e30, mdiff=1e30,mMin=1e30; // mass of SFOS pairs closest to the Z mass for(unsigned int ix=0;ix<recon_e.size();++ix) { for(unsigned int iy=ix+1;iy<recon_e.size();++iy) { @@ -243,18 +274,28 @@ mSFOS = mtest; mdiff = fabs(mtest-90.); } + else if(mMin>mtest) { + mMin = mtest; + } } } for(unsigned int ix=0;ix<recon_mu.size();++ix) { for(unsigned int iy=ix+1;iy<recon_mu.size();++iy) { if(recon_mu[ix].pdgId()*recon_mu[iy].pdgId()>0) continue; double mtest = (recon_mu[ix].momentum()+recon_mu[iy].momentum()).mass(); - if(fabs(mtest-90.)<mdiff) { + if(fabs(mtest-91.118)<mdiff) { mSFOS = mtest; - mdiff = fabs(mtest-90.); + mdiff = fabs(mtest-91.118); + } + else if(mMin>mtest) { + mMin = mtest; } } } + // cut to reject low mass Drell-Yan + if(mMin<=20.) { + vetoEvent; + } // make the control plots // lepton pT @@ -265,25 +306,33 @@ double pTmu = imu<recon_mu.size() ? recon_mu[imu].momentum().perp() : -1*GeV; if(pTe>pTmu) { - _hist_leptonpT[ix]->fill(pTe ,weight); + _hist_leptonpT [ix]->fill(pTe ,weight); + _hist_leptonpT_MC[ix]->fill(pTe ,weight); ++ie; } else { - _hist_leptonpT[ix]->fill(pTmu,weight); + _hist_leptonpT [ix]->fill(pTmu,weight); + _hist_leptonpT_MC[ix]->fill(pTmu,weight); ++imu; } } // njet - _hist_njet->fill(recon_jets.size(),weight); + _hist_njet ->fill(recon_jets.size(),weight); + _hist_njet_MC->fill(recon_jets.size(),weight); // etmiss - _hist_etmiss->fill(eTmiss,weight); - if(mSFOS<1e30) _hist_mSFOS->fill(mSFOS,weight); - _hist_meff->fill(meff,weight); + _hist_etmiss ->fill(eTmiss,weight); + _hist_etmiss_MC->fill(eTmiss,weight); + if(mSFOS<1e30) { + _hist_mSFOS ->fill(mSFOS,weight); + _hist_mSFOS_MC->fill(mSFOS,weight); + } + _hist_meff ->fill(meff,weight); + _hist_meff_MC->fill(meff,weight); // finally the counts if(eTmiss>50.) { _count_SR1->fill(0.5,weight); - if(mdiff<10.) _count_SR2->fill(0.5,weight); + if(mdiff>10.) _count_SR2->fill(0.5,weight); } } @@ -292,18 +341,26 @@ void finalize() { double norm = crossSection()/femtobarn*2.06/sumOfWeights(); // these are number of events at 2.06fb^-1 per 10 GeV - scale(_hist_leptonpT[0],norm*10.); - scale(_hist_leptonpT[1],norm*10.); + scale(_hist_leptonpT [0],norm*10.); + scale(_hist_leptonpT [1],norm*10.); + scale(_hist_leptonpT_MC[0],norm*10.); + scale(_hist_leptonpT_MC[1],norm*10.); // these are number of events at 2.06fb^-1 per 5 GeV - scale(_hist_leptonpT[2],norm*5.); - scale(_hist_leptonpT[3],norm*5.); + scale(_hist_leptonpT [2],norm*5.); + scale(_hist_leptonpT [3],norm*5.); + scale(_hist_leptonpT_MC[2],norm*5.); + scale(_hist_leptonpT_MC[3],norm*5.); // these are number of events at 2.06fb^-1 per 20 GeV - scale(_hist_etmiss ,norm*20.); - scale(_hist_mSFOS ,norm*20.); + scale(_hist_etmiss ,norm*20.); + scale(_hist_mSFOS ,norm*20.); + scale(_hist_etmiss_MC ,norm*20.); + scale(_hist_mSFOS_MC ,norm*20.); // these are number of events at 2.06fb^-1 per 50 GeV - scale(_hist_meff ,norm*50.); + scale(_hist_meff_MC ,norm*50.); + scale(_hist_meff_MC ,norm*50.); // these are number of events at 2.06fb^-1 - scale(_hist_njet ,norm); + scale(_hist_njet ,norm); + scale(_hist_njet_MC ,norm); scale(_count_SR1,norm); scale(_count_SR2,norm); } @@ -312,11 +369,15 @@ /// @name Histograms //@{ - vector<AIDA::IHistogram1D*> _hist_leptonpT; + vector<AIDA::IHistogram1D*> _hist_leptonpT,_hist_leptonpT_MC; AIDA::IHistogram1D* _hist_njet; + AIDA::IHistogram1D* _hist_njet_MC; AIDA::IHistogram1D* _hist_etmiss; + AIDA::IHistogram1D* _hist_etmiss_MC; AIDA::IHistogram1D* _hist_mSFOS; + AIDA::IHistogram1D* _hist_mSFOS_MC; AIDA::IHistogram1D* _hist_meff; + AIDA::IHistogram1D* _hist_meff_MC; AIDA::IHistogram1D* _count_SR1; AIDA::IHistogram1D* _count_SR2; //@}
More information about the Rivet-svn mailing list |