[Rivet] Move bootstrap into main repository for versioning?

Andy Buckley andy.buckley at cern.ch
Mon Feb 10 21:20:04 GMT 2014


On 10/02/14 10:25, David Grellscheid wrote:
> 
>> Anything left to do / surprises from clang static analyzer, David?
> 
> No, all the GBs of temporary files collapsed down to two minor question
> marks:
> 
> CMS_2013_I1258128.cc
> 
> I don't get the logic here. What is this filter trying to achieve? This
> will need to be checked against the paper:
> 
>> 111      // Clean the jets against the photon candidate with a DeltaR cut of 0.5
>> 112	      std::vector<const Jet*> cleanedJets;
>> 113	      foreach (const Jet& j, jets) {
>> 114	        bool isolated = true;
>> 115	        if (deltaR(photon.momentum(), j.momentum()) < 0.5) {
>> 116	          isolated = false;
>> ====== Value stored to 'isolated' is never read =======
>> 117	          break;
>> 118	        }
>> 119	        if (isolated) cleanedJets.push_back(&j);
>> 120	      }
>> 121	      // Require exactly 1 jet
>> 122	      if (cleanedJets.size() != 1) return;

The logic problem was a bad copy 'n' paste from the version which
isolated from the Z decay leptons, which had a nested for loop. I've
fixed it now for 2.1.1.

> And an unused variable here:
> 
> ATLAS_2012_I1180197.cc
> 
>> 216	        // both selections require at least 2 jets
>> 217	        // meff calculation
>> 218	        double HT=0.;
>> 219	        foreach( const Jet & jet, recon_jets) {
>> 220	          HT += jet.momentum().perp();
>> 221	        }
>> 222	        double m_eff_inc  = HT+eTmiss;
>> 223	        unsigned int njet = recon_jets.size();
>> 224	        // 1 lepton only
>> 225	        if( recon_hard_e.size() + recon_hard_mu.size() == 1 && njet >=3 )  {
>> 226	          // get the lepton
>> 227	          Particle lepton = recon_hard_e.empty() ?
>> 228	            recon_hard_mu[0] : recon_hard_e[0];
>> 229	          // lepton variables
>> 230	          double pT = lepton.momentum().perp();
>> 231	          double mT  = 2.*(pT*eTmiss -
>> 232	                           lepton.momentum().x()*pTmiss.x() -
>> 233	                           lepton.momentum().y()*pTmiss.y());
>> 234	          mT = sqrt(mT);
>> 235	          HT += pT;
>> ====== Value stored to 'HT' is never read =======
>> 236	          m_eff_inc += pT;

Looks to me like the relevant increment actually happens on 236, so I've
just removed line 235. This one is an unvalidated SUSY analysis... bit
of a mess, so I also added a lot of missing "*GeV" while I was at it.

I've done a bit of header reorganisation and clean-up of momentum
comparison functors on the release-2-0 branch today. This cleans things
up a bit, although the header dependencies can definitely be made less
nightmarish. I've also added some extra, experimental methods to
Particle for studying decay chains.

Any volunteers to help with merging in the new 2 x ATLAS, 2 x CMS
analyses for version 2.1.1? I think it'd be good to release that by
mid-March if we can. I'm away too much in the next couple of weeks to
get much more done on Rivet in February.

Andy

-- 
Dr Andy Buckley, Royal Society University Research Fellow
Particle Physics Expt Group, University of Glasgow / PH Dept, CERN


More information about the Rivet mailing list