/afs/hep.man.ac.uk/u/markowen/ATLAS/SFrameProof/2011EPS/topUtils/src/MET_Cleaning_Utils.h

00001 //copied from $SVNGRP/Physics/Top/Software/Liaisons/Met/Top_MET_Tool/Top_MET_Tool_00_00_04
00002 #ifndef MET_Cleaning_Utils_h
00003 #define MET_Cleaning_Utils_h
00004 
00005 #include <vector>
00006 #include "TLorentzVector.h"
00007 //#include "Top_MET.h"
00008 
00010 //
00011 // class MET_Cleaning_Utils
00012 // Proves a standard interface to modify the missing ET in the TopInputs D3PD
00013 // -enables modification fo the missing ET for default corrections to the selected objects and for studies of systematic uncertainties. 
00014 // -implements the MET only uncertainties for the CellOut term and the SoftJet term.   
00015 //
00016 //
00018 
00019 class MET_Cleaning_Utils {
00020 
00021  public:
00022   MET_Cleaning_Utils();
00023   virtual ~MET_Cleaning_Utils();
00024 
00025   // Common funtions
00026   float DeltaPhi(float phi1, float phi2);
00027   float DeltaEta(float eta1, float eta2);
00028   float dr(float phi1, float eta1,float phi2, float eta2);
00029 
00030   //Cleaning Tools
00031   bool isJetSafe(std::vector<TLorentzVector> &jet, std::vector<float> *BCH_CORR_JET,
00032                  std::vector<float> *BCH_CORR_CELL, bool isdata, float shift);
00033   bool hasUnmatchTrackJet(std::vector<TLorentzVector> &jet,float JCone,std::vector<TLorentzVector> &trackjet,
00034                           float TJCone,float minpt);
00035   bool isJetAffected(std::vector<TLorentzVector> &jet, float iso, float JCone, float minpt );
00036   bool isJetAffected(TLorentzVector &jet, float iso, float JCone, float minpt );
00037   bool iswithinDeadFEB(float eta, float phi, float objCone, float objIso,bool dosquare=false);
00038 
00039 
00040 
00041 
00042   // Validation Tools
00043   float dphi_MET_MPT(float &met_phi,std::vector<float> *trk_pt,std::vector<float> *trk_eta,
00044                      std::vector<float> *trk_d0_wrtPV,std::vector<float> *trk_z0_wrtPV,
00045                      std::vector<float> *trk_theta_wrtPV,std::vector<float> *trk_phi_wrtPV,
00046                      std::vector<int> *trk_nPixHits,std::vector<int> *trk_nSCTHits);
00047   float MPT_Loose_phi(std::vector<float> *trk_pt,std::vector<float> *trk_eta,std::vector<float> *trk_d0_wrtPV,
00048                       std::vector<float> *trk_z0_wrtPV,std::vector<float> *trk_theta_wrtPV,
00049                       std::vector<float> *trk_phi_wrtPV,std::vector<int> *trk_nPixHits,
00050                       std::vector<int> *trk_nSCTHits );
00051   float dphi_Jet_MET(std::vector<TLorentzVector> &jet, float met_phi);
00052   float JetTrackJetRatio(std::vector<TLorentzVector> &jet,TLorentzVector &trackjet);
00053   
00054  private:
00055   std::vector<float> eta_min, eta_max, phi_min, phi_max;
00056   float GeV;
00057   float jet_THRESHOLD;
00058   float jet_THRESHOLD_1sigma;
00059   float jet_iso;
00060   //Top_MET top_met; commented out by MOwen
00061 };
00062 #endif

Generated on Thu Jun 30 11:40:04 2011 for manTreeSFrame by  doxygen 1.4.7