float ReconstructionMCMatching::DrBLep(Interpretation& i){
    float dr=999;
    if(b_lep.Pt()>0.01 && i.BLep().Pt()>0.01){
	dr=b_lep.DeltaR(i.BLep());
    }
    return dr;
}
bool ReconstructionMCMatching::MatchBLep(Interpretation& i){
  if(setupMC==0){
    cerr << "need to setup mc matching first!" << endl;
    return false;
  }
  //  cout << "dr blep " << b_lep.DeltaR(i.BLep()) << endl;
  bool matchBlep=b_lep.E()>1.&&i.BLep().E()>1.&&b_lep.DeltaR(i.BLep())<maxdr;
  return matchBlep;
}
float ReconstructionMCMatching::SumDrTTH(Interpretation& i){
  if(setupMC<2){
    cerr << "need to setup mc matching (incl Higgs) first!" << endl;
    return false;
  }
  float sumDr=0;
  sumDr+=b_had.DeltaR(i.BHad());
  sumDr+=q1.DeltaR(i.Q1());
  sumDr+=q2.DeltaR(i.Q2());
  sumDr+=b_lep.DeltaR(i.BLep());
  sumDr+=lep.DeltaR(i.Lep());
  sumDr+=nu.DeltaR(i.Nu());
  sumDr+=b1.DeltaR(i.B1());
  sumDr+=b2.DeltaR(i.B1());

  return sumDr;
}