ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/grimes/VHbbAnalysisCode/interface/MuonInfoPlotSet.h
Revision: 1.3
Committed: Wed Aug 15 22:37:47 2012 UTC (12 years, 8 months ago) by grimes
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +10 -0 lines
Log Message:
Long overdue commit with several new files

File Contents

# User Rev Content
1 grimes 1.1 #ifndef trkupgradeanalysis_MuonInfoPlotSet_h
2     #define trkupgradeanalysis_MuonInfoPlotSet_h
3    
4     #include "VHbbAnalysis/VHbbDataFormats/interface/VHbbEvent.h"
5    
6     // Forward declarations
7     class TH1F;
8     class TDirectory;
9 grimes 1.2 class TTree;
10     class VHbbEventAuxInfo;
11 grimes 1.1
12     namespace trkupgradeanalysis
13     {
14     /** @brief A class to take care of booking and filling histograms about MuonInfo objects.
15     *
16     * @author Mark Grimes (mark.grimes@bristol.ac.uk)
17     * @date 27/Nov/2011
18     */
19     class MuonInfoPlotSet
20     {
21     public:
22 grimes 1.2 /** @brief Only constructor
23     *
24     * createIsolationTree - set whether to record the isolation values in a TTree or not. Default
25     * is off to save space.
26     */
27     MuonInfoPlotSet( bool createIsolationTree=false );
28 grimes 1.1 void book( TDirectory* pDirectory );
29 grimes 1.2 void fill( const VHbbEvent::MuonInfo& muon, const VHbbEventAuxInfo* pAuxInfo=NULL );
30    
31     static float combinedRelativeIsolation( const VHbbEvent::MuonInfo& muon );
32     static float deltaBetaCorrectedIsolation( const VHbbEvent::MuonInfo& muon, float deltaBetaFactor=-0.5 );
33     static float rho25CorrectedIsolation( const VHbbEvent::MuonInfo& muon, float rho25 );
34 grimes 1.3 static float thirdRho25CorrectedIsolation( const VHbbEvent::MuonInfo& muon, float rho25 );
35     static float deltaBetaCorrectedIsolationNoZeroing( const VHbbEvent::MuonInfo& muon, float deltaBetaFactor=-0.5 );
36     static float rho25CorrectedIsolationNoZeroing( const VHbbEvent::MuonInfo& muon, float rho25 );
37     static float thirdRho25CorrectedIsolationNoZeroing( const VHbbEvent::MuonInfo& muon, float rho25 );
38 grimes 1.1 private:
39     bool histogramHaveBeenBooked_;
40    
41 grimes 1.2 bool createIsolationTree_; ///< Whether or not to record isolation values in a TTree.
42     TTree* pIsolationTree_; ///< This TTree is only created if createIsolationTree is set to true in the constructor.
43     int numberOfPrimaryVertices_branch_; ///< All these are variables to hold the branch data
44     float chargedIsolation_branch_;
45     float photonIsolation_branch_;
46     float neutralIsolation_branch_;
47     float pileupIsolation_branch_;
48     float rho25_branch_;
49     float pT_branch_;
50    
51 grimes 1.1 TH1F* pGlobalChi2_;
52 grimes 1.3 TH1F* pNumberOfValidPixel_;
53 grimes 1.1 TH1F* pNumberOfPixelHits_;
54     TH1F* pNumberOfGlobalHits_;
55     TH1F* pNumberOfHits_;
56     TH1F* pCategory_;
57     TH1F* pNumberOfMatches_;
58     TH1F* pIPDB_;
59     TH1F* pEta_;
60 grimes 1.3 TH1F* pPhi_;
61 grimes 1.1 TH1F* pPt_;
62 grimes 1.2 TH1F* pChargedIsolation_;
63     TH1F* pPhotonIsolation_;
64     TH1F* pNeutralIsolation_;
65     TH1F* pPileupIsolation_;
66     TH1F* pRelativeChargedIsolation_;
67     TH1F* pRelativePhotonIsolation_;
68     TH1F* pRelativeNeutralIsolation_;
69     TH1F* pRelativePileupIsolation_;
70     TH1F* pRelativeIsolation_;
71     TH1F* pDeltaBetaCorrectedIsolation_;
72     TH1F* pRho25CorrectedIsolation_;
73 grimes 1.3 TH1F* pThirdRho25CorrectedIsolation_;
74     TH1F* pDeltaBetaCorrectedIsolationNoZeroing_;
75     TH1F* pRho25CorrectedIsolationNoZeroing_;
76     TH1F* pThirdRho25CorrectedIsolationNoZeroing_;
77 grimes 1.1 };
78    
79     } // end of namespace trkupgradeanalysis
80    
81    
82     #endif // end of "#ifndef trkupgradeanalysis_MuonInfoPlotSet_h"