CMS 3D CMS Logo

HistoTau.h

Go to the documentation of this file.
00001 #ifndef StarterKit_HistoTau_h
00002 #define StarterKit_HistoTau_h
00003 
00004 //------------------------------------------------------------
00005 // Title: HistoTau.h
00006 // Purpose: To histogram Taus
00007 //
00008 // Authors:
00009 // Liz Sexton-Kennedy <sexton@fnal.gov>
00010 // Eric Vaandering <ewv@fnal.gov >
00011 // Petar Maksimovic <petar@jhu.edu>
00012 // Sal Rappoccio <rappocc@fnal.gov>
00013 //------------------------------------------------------------
00014 //
00015 // Interface:
00016 //
00017 //   HistoTau ( TFile * file );
00018 //   Description: Constructor.
00019 //
00020 //   void fill( TK::Tau * );
00021 //   Description: Fill object. Will fill relevant muon variables
00022 //
00023 //   void write();
00024 //   Description: Write object to file in question.
00025 //
00026 //   ~HistoTau
00027 //    Description: Destructor. Deallocates memory.
00028 //
00029 //------------------------------------------------------------
00030 //
00031 // Modification History:
00032 //
00033 //   -29Nov07: Sal Rappoccio: Creation of the object
00034 //------------------------------------------------------------
00035 
00036 // This package's include files
00037 #include "PhysicsTools/StarterKit/interface/HistoGroup.h"
00038 #include "PhysicsTools/StarterKit/interface/HistoTrack.h"
00039 
00040 // CMSSW include files
00041 #include "DataFormats/PatCandidates/interface/Tau.h"
00042 
00043 
00044 // STL include files
00045 #include <string>
00046 #include <vector>
00047 
00048 // ROOT include files
00049 #include <TH1D.h>
00050 
00051 namespace pat {
00052 
00053   class HistoTau : public HistoGroup<Tau> {
00054 
00055   public:
00056     HistoTau(std::string dir = "tau", std::string group = "Tau",std::string pre="tau",
00057              double pt1=0, double pt2=200, double m1=0, double m2=200,
00058              TFileDirectory * parentDir=0 );
00059     virtual ~HistoTau() { } ;
00060 
00061 
00062     // fill a plain ol' tau:
00063     virtual void fill( const Tau *tau, uint iPart = 1, double weight = 1.0 );
00064     virtual void fill( const Tau &tau, uint iPart = 1, double weight = 1.0 ) { fill(&tau, iPart, weight); }
00065 
00066     // fill a tau that is a shallow clone, and take kinematics from 
00067     // shallow clone but detector plots from the tau itself
00068     virtual void fill( const reco::ShallowClonePtrCandidate *tau, uint iPart = 1, double weight = 1.0 );
00069     virtual void fill( const reco::ShallowClonePtrCandidate &tau, uint iPart = 1, double weight = 1.0 )
00070     { fill(&tau, iPart, weight); }
00071 
00072     virtual void fillCollection( const std::vector<Tau> & coll, double weight = 1.0 );
00073 
00074     // Clear ntuple cache
00075     void clearVec();
00076 
00077   protected:
00078     HistoTrack   * histoLeadingTrack_;        
00079     HistoTrack   * histoSignalTrack_;         
00080     HistoTrack   * histoIsolationTrack_;      
00081     PhysVarHisto * h_emEnergyFraction_ ;      
00082     PhysVarHisto * h_eOverP_  ;               
00083   };
00084 }
00085 #endif

Generated on Tue Jun 9 17:41:51 2009 for CMSSW by  doxygen 1.5.4