CMS 3D CMS Logo

CaloTau.h

Go to the documentation of this file.
00001 #ifndef DataFormats_TauReco_CaloTau_h
00002 #define DataFormats_TauReco_CaloTau_h
00003 
00004 /* class CaloTau
00005  * the object of this class is created by RecoTauTag/RecoTau CaloRecoTauProducer EDProducer starting from the CaloTauTagInfo object,
00006  *                          is a hadronic tau-jet candidate -built from a calo. jet- that analysts manipulate;
00007  * authors: Simone Gennai (simone.gennai@cern.ch), Ludovic Houchu (Ludovic.Houchu@cern.ch)
00008  * created: Jun 21 2007,
00009  * revised: Feb 20 2007
00010  */
00011 #include "DataFormats/Math/interface/LorentzVector.h"
00012 #include "DataFormats/TauReco/interface/BaseTau.h"
00013 #include "DataFormats/TauReco/interface/CaloTauFwd.h"
00014 #include "DataFormats/TauReco/interface/CaloTauTagInfo.h"
00015 
00016 #include <limits>
00017 
00018 namespace reco {
00019   class CaloTau : public BaseTau {
00020   public:
00021     CaloTau();
00022     CaloTau(Charge q, const LorentzVector &, const Point & = Point( 0, 0, 0 ) );
00023     virtual ~CaloTau(){}
00024     CaloTau* clone()const;
00025     
00026     const CaloTauTagInfoRef& caloTauTagInfoRef()const;
00027     void setcaloTauTagInfoRef(const CaloTauTagInfoRef);
00028     
00029     // signed transverse impact parameter significance of leading Track ; NaN if no leading Track
00030     float leadTracksignedSipt()const;
00031     void setleadTracksignedSipt(const float&);
00032 
00033     // sum of Et of HCAL hits inside a 3x3 calo. tower matrix centered on direction of propag. leading Track - ECAL inner surf. contact point ; NaN if no leading Track or if invalid propag. leading Track - ECAL inner surf. contact point
00034     float leadTrackHCAL3x3hitsEtSum()const;
00035     void setleadTrackHCAL3x3hitsEtSum(const float&);
00036 
00037     // |DEta| between direction of propag. leading Track - ECAL inner surf. contact point and direction of highest Et hit among HCAL hits inside a 3x3 calo. tower matrix centered on direction of propag. leading Track - ECAL inner surf. contact point ; NaN if no leading Track or if invalid propag. leading Track - ECAL inner surf. contact point
00038     float leadTrackHCAL3x3hottesthitDEta()const;
00039     void setleadTrackHCAL3x3hottesthitDEta(const float&);
00040     
00041     // invariant mass of the system of Tracks inside a signal cone around leading Track ; NaN if no leading Track
00042     float signalTracksInvariantMass()const;
00043     void setsignalTracksInvariantMass(const float&);
00044     
00045     // invariant mass of the system of Tracks ; NaN if no Track
00046     float TracksInvariantMass()const;
00047     void setTracksInvariantMass(const float&);
00048 
00049     // sum of Pt of the Tracks inside a tracker isolation annulus around leading Track ; NaN if no leading Track
00050     float isolationTracksPtSum()const;
00051     void setisolationTracksPtSum(const float&);
00052    
00053     // sum of Et of ECAL RecHits inside an ECAL isolation annulus around leading Track ; NaN if no leading Track 
00054     float isolationECALhitsEtSum()const;
00055     void setisolationECALhitsEtSum(const float&);
00056   
00057     // Et of the highest Et HCAL hit
00058     float maximumHCALhitEt()const;
00059     void setmaximumHCALhitEt(const float&);    
00060   private:
00061     // check overlap with another candidate
00062     virtual bool overlap(const Candidate&d)const;
00063     CaloTauTagInfoRef CaloTauTagInfoRef_;  
00064     float leadTracksignedSipt_;
00065     float leadTrackHCAL3x3hitsEtSum_;
00066     float leadTrackHCAL3x3hottesthitDEta_;
00067     float signalTracksInvariantMass_;
00068     float TracksInvariantMass_; 
00069     float isolationTracksPtSum_;
00070     float isolationECALhitsEtSum_;
00071     float maximumHCALhitEt_;
00072   };
00073 }
00074 #endif

Generated on Tue Jun 9 17:31:46 2009 for CMSSW by  doxygen 1.5.4