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

# Content
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 class TTree;
10 class VHbbEventAuxInfo;
11
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 /** @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 void book( TDirectory* pDirectory );
29 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 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 private:
39 bool histogramHaveBeenBooked_;
40
41 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 TH1F* pGlobalChi2_;
52 TH1F* pNumberOfValidPixel_;
53 TH1F* pNumberOfPixelHits_;
54 TH1F* pNumberOfGlobalHits_;
55 TH1F* pNumberOfHits_;
56 TH1F* pCategory_;
57 TH1F* pNumberOfMatches_;
58 TH1F* pIPDB_;
59 TH1F* pEta_;
60 TH1F* pPhi_;
61 TH1F* pPt_;
62 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 TH1F* pThirdRho25CorrectedIsolation_;
74 TH1F* pDeltaBetaCorrectedIsolationNoZeroing_;
75 TH1F* pRho25CorrectedIsolationNoZeroing_;
76 TH1F* pThirdRho25CorrectedIsolationNoZeroing_;
77 };
78
79 } // end of namespace trkupgradeanalysis
80
81
82 #endif // end of "#ifndef trkupgradeanalysis_MuonInfoPlotSet_h"