ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/CITCommon/CommonData/interface/MuonTree.h
(Generate patch)

Comparing UserCode/CITCommon/CommonData/interface/MuonTree.h (file contents):
Revision 1.1 by sixie, Wed Jul 18 19:29:54 2012 UTC vs.
Revision 1.2 by sixie, Sat Jul 21 06:57:24 2012 UTC

# Line 7 | Line 7
7   #include <cmath>
8   #include "assert.h"
9  
10 < class MuonTree {
11 <
12 <  public:
13 <
14 <    /// variables
15 <    Float_t                 fWeight;
16 <    UInt_t                  fRunNumber;
17 <    UInt_t                  fLumiSectionNumber;
18 <    UInt_t                  fEventNumber;
19 <    Bool_t                  fMuEventNumberParity;
20 <    Float_t                 fRho;
21 <    UInt_t                  fNVertices;
22 <
23 <    Float_t                 fMuPt;
24 <    Float_t                 fMuEta;
25 <    Float_t                 fMuPhi;
26 <
27 <    UInt_t                  fMuTypeBits;
28 <    Bool_t                  fIsAllArbitrated;
29 <    Float_t                 fMuTkNchi2;
30 <    Float_t                 fMuGlobalNchi2;
31 <    Float_t                 fMuNValidHits;
32 <    Float_t                 fMuNTrackerHits;
33 <    Float_t                 fMuNPixelHits;
34 <    Float_t                 fMuNMatches;
35 <    Float_t                 fMuD0;
10 > namespace citana
11 > {
12 >  class MuonTree {
13 >
14 >    public:
15 >
16 >      /// variables
17 >      Float_t                 fWeight;
18 >      UInt_t                  fRunNumber;
19 >      UInt_t                  fLumiSectionNumber;
20 >      UInt_t                  fEventNumber;
21 >      Bool_t                  fMuEventNumberParity;
22 >      Float_t                 fRho;
23 >      UInt_t                  fNVertices;
24 >
25 >      Float_t                 fMuPt;
26 >      Float_t                 fMuEta;
27 >      Float_t                 fMuPhi;
28 >
29 >      UInt_t                fMuTypeBits;
30 >      Bool_t                fIsAllArbitrated;
31 >      Float_t                 fMuTkNchi2;
32 >      Float_t                 fMuGlobalNchi2;
33 >      Float_t                 fMuNValidHits;
34 >      Float_t                 fMuNTrackerHits;
35 >      Float_t                 fMuNPixelHits;
36 >      Float_t                 fMuNMatches;
37 >      Float_t                 fMuD0;
38      
39 <    //Additional Vars used in Likelihood
40 <    Float_t                 fMuIP3d;
41 <    Float_t                 fMuIP3dSig;
42 <    Float_t                 fMuTrkKink;
43 <    Float_t                 fMuGlobalKink;
44 <    Float_t                 fMuSegmentCompatibility;
45 <    Float_t                 fMuCaloCompatibility;
46 <    Float_t                 fMuHadEnergy;
47 <    Float_t                 fMuHoEnergy;
48 <    Float_t                 fMuEmEnergy;
49 <    Float_t                 fMuHadS9Energy;
50 <    Float_t                 fMuHoS9Energy;
51 <    Float_t                 fMuEmS9Energy;
52 <
53 <    //Isolation Variables
54 <    Float_t                 fMuTrkIso03;
55 <    Float_t                 fMuEMIso03;
56 <    Float_t                 fMuHadIso03;
57 <    Float_t                 fMuTrkIso05;
58 <    Float_t                 fMuEMIso05;
59 <    Float_t                 fMuHadIso05;
60 <    Float_t                 fMuPFIso04;
61 <    Float_t                 fChargedIso_DR0p0To0p1;
62 <    Float_t                 fChargedIso_DR0p1To0p2;
63 <    Float_t                 fChargedIso_DR0p2To0p3;
64 <    Float_t                 fChargedIso_DR0p3To0p4;
65 <    Float_t                 fChargedIso_DR0p4To0p5;
66 <    Float_t                 fGammaIso_DR0p0To0p1;
67 <    Float_t                 fGammaIso_DR0p1To0p2;
68 <    Float_t                 fGammaIso_DR0p2To0p3;
69 <    Float_t                 fGammaIso_DR0p3To0p4;
70 <    Float_t                 fGammaIso_DR0p4To0p5;
71 <    Float_t                 fNeutralHadronIso_DR0p0To0p1;
72 <    Float_t                 fNeutralHadronIso_DR0p1To0p2;
73 <    Float_t                 fNeutralHadronIso_DR0p2To0p3;
74 <    Float_t                 fNeutralHadronIso_DR0p3To0p4;
75 <    Float_t                 fNeutralHadronIso_DR0p4To0p5;
76 <
77 <    Bool_t                  fMuPassTriggerDenominator;
78 <
79 <  public:
80 <    /// this is the main element
81 <    TTree *tree_;
82 <    TFile *f_;
39 >      //Additional Vars used in Likelihood
40 >      Float_t                 fMuIP3d;
41 >      Float_t                 fMuIP3dSig;
42 >      Float_t                 fMuTrkKink;
43 >      Float_t                 fMuGlobalKink;
44 >      Float_t                 fMuSegmentCompatibility;
45 >      Float_t                 fMuCaloCompatibility;
46 >      Float_t                 fMuHadEnergy;
47 >      Float_t                 fMuHoEnergy;
48 >      Float_t                 fMuEmEnergy;
49 >      Float_t                 fMuHadS9Energy;
50 >      Float_t                 fMuHoS9Energy;
51 >      Float_t                 fMuEmS9Energy;
52 >
53 >      //Isolation Variables
54 >      Float_t                 fMuTrkIso03;
55 >      Float_t                 fMuEMIso03;
56 >      Float_t                 fMuHadIso03;
57 >      Float_t                 fMuTrkIso05;
58 >      Float_t                 fMuEMIso05;
59 >      Float_t                 fMuHadIso05;
60 >      Float_t                 fMuPFIso04;
61 >      Float_t                 fChargedIso_DR0p0To0p1;
62 >      Float_t                 fChargedIso_DR0p1To0p2;
63 >      Float_t                 fChargedIso_DR0p2To0p3;
64 >      Float_t                 fChargedIso_DR0p3To0p4;
65 >      Float_t                 fChargedIso_DR0p4To0p5;
66 >      Float_t                 fGammaIso_DR0p0To0p1;
67 >      Float_t                 fGammaIso_DR0p1To0p2;
68 >      Float_t                 fGammaIso_DR0p2To0p3;
69 >      Float_t                 fGammaIso_DR0p3To0p4;
70 >      Float_t                 fGammaIso_DR0p4To0p5;
71 >      Float_t                 fNeutralHadronIso_DR0p0To0p1;
72 >      Float_t                 fNeutralHadronIso_DR0p1To0p2;
73 >      Float_t                 fNeutralHadronIso_DR0p2To0p3;
74 >      Float_t                 fNeutralHadronIso_DR0p3To0p4;
75 >      Float_t                 fNeutralHadronIso_DR0p4To0p5;
76 >
77 >      Bool_t                  fMuPassTriggerDenominator;
78 >
79 >    public:
80 >      /// this is the main element
81 >      TTree *tree_;
82 >      TFile *f_;
83    
84 <    /// hold the names of variables to facilitate things (filled during Init)
85 <    std::vector<std::string> variables_;
84 >      /// hold the names of variables to facilitate things (filled during Init)
85 >      std::vector<std::string> variables_;
86  
87 <    /// default constructor  
88 <    MuonTree()  {};
89 <    /// default destructor
90 <    ~MuonTree(){
91 <      if (f_) f_->Close();  
92 <    };
87 >      /// default constructor  
88 >      MuonTree()  {};
89 >      /// default destructor
90 >      ~MuonTree(){
91 >        if (f_) f_->Close();  
92 >      };
93      
94 <    /// initialize varibles and fill list of available variables
95 <    void InitVariables() {
96 <      fWeight                      = 0.0;
97 <      fRunNumber                   = 0.0;
98 <      fLumiSectionNumber           = 0.0;
99 <      fEventNumber                 = 0.0;
100 <      fMuEventNumberParity         = 0.0;
101 <      fRho                         = 0.0;
102 <      fNVertices                   = 0.0;
103 <      fMuPt                        = 0.0;
104 <      fMuEta                       = 0.0;
105 <      fMuPhi                       = 0.0;
106 <      fMuTypeBits                  = 0.0;
107 <      fIsAllArbitrated             = 0.0;
108 <      fMuTkNchi2                   = 0.0;
109 <      fMuGlobalNchi2               = 0.0;
110 <      fMuNValidHits                = 0.0;
111 <      fMuNTrackerHits              = 0.0;
112 <      fMuNPixelHits                = 0.0;
113 <      fMuNMatches                  = 0.0;
114 <      fMuD0                        = 0.0;
115 <      fMuIP3d                      = 0.0;
116 <      fMuIP3dSig                   = 0.0;
117 <      fMuTrkKink                   = 0.0;
118 <      fMuGlobalKink                = 0.0;
119 <      fMuSegmentCompatibility      = 0.0;
120 <      fMuCaloCompatibility         = 0.0;
121 <      fMuHadEnergy                 = 0.0;
122 <      fMuHoEnergy                  = 0.0;
123 <      fMuEmEnergy                  = 0.0;
124 <      fMuHadS9Energy               = 0.0;
125 <      fMuHoS9Energy                = 0.0;
126 <      fMuEmS9Energy                = 0.0;
127 <      fMuTrkIso03                  = 0.0;
128 <      fMuEMIso03                   = 0.0;
129 <      fMuHadIso03                  = 0.0;
130 <      fMuTrkIso05                  = 0.0;
131 <      fMuEMIso05                   = 0.0;
132 <      fMuHadIso05                  = 0.0;
133 <      fMuPFIso04                   = 0.0;
134 <      fChargedIso_DR0p0To0p1       = 0.0;
135 <      fChargedIso_DR0p1To0p2       = 0.0;
136 <      fChargedIso_DR0p2To0p3       = 0.0;
137 <      fChargedIso_DR0p3To0p4       = 0.0;
138 <      fChargedIso_DR0p4To0p5       = 0.0;
139 <      fGammaIso_DR0p0To0p1         = 0.0;
140 <      fGammaIso_DR0p1To0p2         = 0.0;
141 <      fGammaIso_DR0p2To0p3         = 0.0;
142 <      fGammaIso_DR0p3To0p4         = 0.0;
143 <      fGammaIso_DR0p4To0p5         = 0.0;
144 <      fNeutralHadronIso_DR0p0To0p1 = 0.0;
145 <      fNeutralHadronIso_DR0p1To0p2 = 0.0;
146 <      fNeutralHadronIso_DR0p2To0p3 = 0.0;
147 <      fNeutralHadronIso_DR0p3To0p4 = 0.0;
148 <      fNeutralHadronIso_DR0p4To0p5 = 0.0;
149 <      fMuPassTriggerDenominator = kFALSE;
150 <    }
94 >      /// initialize varibles and fill list of available variables
95 >      void InitVariables() {
96 >        fWeight                    = 0.0;
97 >        fRunNumber                 = 0.0;
98 >        fLumiSectionNumber         = 0.0;
99 >        fEventNumber               = 0.0;
100 >        fMuEventNumberParity       = 0.0;
101 >        fRho                       = 0.0;
102 >        fNVertices                 = 0.0;
103 >        fMuPt                      = 0.0;
104 >        fMuEta                     = 0.0;
105 >        fMuPhi                     = 0.0;
106 >        fMuTypeBits                = 0.0;
107 >        fIsAllArbitrated                   = 0.0;
108 >        fMuTkNchi2                 = 0.0;
109 >        fMuGlobalNchi2             = 0.0;
110 >        fMuNValidHits              = 0.0;
111 >        fMuNTrackerHits                    = 0.0;
112 >        fMuNPixelHits              = 0.0;
113 >        fMuNMatches                = 0.0;
114 >        fMuD0                      = 0.0;
115 >        fMuIP3d                            = 0.0;
116 >        fMuIP3dSig                 = 0.0;
117 >        fMuTrkKink                 = 0.0;
118 >        fMuGlobalKink              = 0.0;
119 >        fMuSegmentCompatibility            = 0.0;
120 >        fMuCaloCompatibility       = 0.0;
121 >        fMuHadEnergy               = 0.0;
122 >        fMuHoEnergy                = 0.0;
123 >        fMuEmEnergy                = 0.0;
124 >        fMuHadS9Energy             = 0.0;
125 >        fMuHoS9Energy              = 0.0;
126 >        fMuEmS9Energy              = 0.0;
127 >        fMuTrkIso03                = 0.0;
128 >        fMuEMIso03                 = 0.0;
129 >        fMuHadIso03                = 0.0;
130 >        fMuTrkIso05                = 0.0;
131 >        fMuEMIso05                 = 0.0;
132 >        fMuHadIso05                = 0.0;
133 >        fMuPFIso04                 = 0.0;
134 >        fChargedIso_DR0p0To0p1     = 0.0;
135 >        fChargedIso_DR0p1To0p2     = 0.0;
136 >        fChargedIso_DR0p2To0p3     = 0.0;
137 >        fChargedIso_DR0p3To0p4     = 0.0;
138 >        fChargedIso_DR0p4To0p5     = 0.0;
139 >        fGammaIso_DR0p0To0p1       = 0.0;
140 >        fGammaIso_DR0p1To0p2       = 0.0;
141 >        fGammaIso_DR0p2To0p3       = 0.0;
142 >        fGammaIso_DR0p3To0p4       = 0.0;
143 >        fGammaIso_DR0p4To0p5       = 0.0;
144 >        fNeutralHadronIso_DR0p0To0p1 = 0.0;
145 >        fNeutralHadronIso_DR0p1To0p2 = 0.0;
146 >        fNeutralHadronIso_DR0p2To0p3 = 0.0;
147 >        fNeutralHadronIso_DR0p3To0p4 = 0.0;
148 >        fNeutralHadronIso_DR0p4To0p5 = 0.0;
149 >        fMuPassTriggerDenominator = kFALSE;
150 >      }
151      
152 <    /// load a MuonTree
153 <    void LoadTree(const char* file){
154 <      f_ = TFile::Open(file);
155 <      assert(f_);
156 <      tree_ = dynamic_cast<TTree*>(f_->Get("Muons"));
157 <      assert(tree_);
158 <    }
152 >      /// load a MuonTree
153 >      void LoadTree(const char* file){
154 >        f_ = TFile::Open(file);
155 >        assert(f_);
156 >        tree_ = dynamic_cast<TTree*>(f_->Get("Muons"));
157 >        assert(tree_);
158 >      }
159      
160 <    /// create a MuonTree
161 <    void CreateTree(){
162 <      tree_ = new TTree("Muons","Muons");
163 <      f_ = 0;
164 <
165 <      //book the branches
166 <      tree_->Branch("weight",&fWeight,"weight/F");
167 <      tree_->Branch("run",&fRunNumber,"run/i");
168 <      tree_->Branch("lumi",&fLumiSectionNumber,"lumi/i");
169 <      tree_->Branch("event",&fEventNumber,"event/i");
170 <      tree_->Branch("EventNumberParity",&fMuEventNumberParity,"EventNumberParity/O");
171 <      tree_->Branch("Rho",&fRho,"Rho/F");
172 <      tree_->Branch("NVertices",&fNVertices,"NVertices/F");
173 <      tree_->Branch("pt",&fMuPt,"pt/F");
174 <      tree_->Branch("eta",&fMuEta,"eta/F");
175 <      tree_->Branch("phi",&fMuPhi,"phi/F");
176 <      tree_->Branch("typeBits",&fMuTypeBits,"typeBits/i");
177 <      tree_->Branch("isAllArbitrated",&fIsAllArbitrated,"isAllArbitrated/i");
178 <      tree_->Branch("TkNchi2",&fMuTkNchi2,"TkNchi2/F");
179 <      tree_->Branch("GlobalNchi2",&fMuGlobalNchi2,"GlobalNchi2/F");
180 <      tree_->Branch("NValidHits",&fMuNValidHits,"NValidHits/F");
181 <      tree_->Branch("NTrackerHits",&fMuNTrackerHits,"NTrackerHits/F");
182 <      tree_->Branch("NPixelHits",&fMuNPixelHits,"NPixelHits/F");
183 <      tree_->Branch("NMatches",&fMuNMatches,"NMatches/F");
184 <      tree_->Branch("D0",&fMuD0,"D0/F");
185 <      tree_->Branch("IP3d",&fMuIP3d,"IP3d/F");
186 <      tree_->Branch("IP3dSig",&fMuIP3dSig,"IP3dSig/F");
187 <      tree_->Branch("TrkKink",&fMuTrkKink,"TrkKink/F");
188 <      tree_->Branch("GlobalKink",&fMuGlobalKink,"GlobalKink/F");
189 <      tree_->Branch("SegmentCompatibility",&fMuSegmentCompatibility,"SegmentCompatibility/F");
190 <      tree_->Branch("CaloCompatibility",&fMuCaloCompatibility,"CaloCompatibility/F");
191 <      tree_->Branch("HadEnergy",&fMuHadEnergy,"HadEnergy/F");
192 <      tree_->Branch("HoEnergy",&fMuHoEnergy,"HoEnergy/F");
193 <      tree_->Branch("EmEnergy",&fMuEmEnergy,"EmEnergy/F");
194 <      tree_->Branch("HadS9Energy",&fMuHadS9Energy,"HadS9Energy/F");
195 <      tree_->Branch("HoS9Energy",&fMuHoS9Energy,"HoS9Energy/F");
196 <      tree_->Branch("EmS9Energy",&fMuEmS9Energy,"EmS9Energy/F");
197 <      tree_->Branch("TrkIso03",&fMuTrkIso03,"TrkIso03/F");
198 <      tree_->Branch("EMIso03",&fMuEMIso03,"EMIso03/F");
199 <      tree_->Branch("HadIso03",&fMuHadIso03,"HadIso03/F");
200 <      tree_->Branch("TrkIso05",&fMuTrkIso05,"TrkIso05/F");
201 <      tree_->Branch("EMIso05",&fMuEMIso05,"EMIso05/F");
202 <      tree_->Branch("HadIso05",&fMuHadIso05,"HadIso05/F");
203 <      tree_->Branch("PFIso04",&fMuPFIso04,"PFIso04/F");
204 <      tree_->Branch("ChargedIso_DR0p0To0p1",&fChargedIso_DR0p0To0p1,"ChargedIso_DR0p0To0p1/F");
205 <      tree_->Branch("ChargedIso_DR0p1To0p2",&fChargedIso_DR0p1To0p2,"ChargedIso_DR0p1To0p2/F");
206 <      tree_->Branch("ChargedIso_DR0p2To0p3",&fChargedIso_DR0p2To0p3,"ChargedIso_DR0p2To0p3/F");
207 <      tree_->Branch("ChargedIso_DR0p3To0p4",&fChargedIso_DR0p3To0p4,"ChargedIso_DR0p3To0p4/F");
208 <      tree_->Branch("ChargedIso_DR0p4To0p5",&fChargedIso_DR0p4To0p5,"ChargedIso_DR0p4To0p5/F");
209 <      tree_->Branch("GammaIso_DR0p0To0p1",&fGammaIso_DR0p0To0p1,"GammaIso_DR0p0To0p1/F");
210 <      tree_->Branch("GammaIso_DR0p1To0p2",&fGammaIso_DR0p1To0p2,"GammaIso_DR0p1To0p2/F");
211 <      tree_->Branch("GammaIso_DR0p2To0p3",&fGammaIso_DR0p2To0p3,"GammaIso_DR0p2To0p3/F");
212 <      tree_->Branch("GammaIso_DR0p3To0p4",&fGammaIso_DR0p3To0p4,"GammaIso_DR0p3To0p4/F");
213 <      tree_->Branch("GammaIso_DR0p4To0p5",&fGammaIso_DR0p4To0p5,"GammaIso_DR0p4To0p5/F");
214 <      tree_->Branch("NeutralHadronIso_DR0p0To0p1",&fNeutralHadronIso_DR0p0To0p1,"NeutralHadronIso_DR0p0To0p1/F");
215 <      tree_->Branch("NeutralHadronIso_DR0p1To0p2",&fNeutralHadronIso_DR0p1To0p2,"NeutralHadronIso_DR0p1To0p2/F");
216 <      tree_->Branch("NeutralHadronIso_DR0p2To0p3",&fNeutralHadronIso_DR0p2To0p3,"NeutralHadronIso_DR0p2To0p3/F");
217 <      tree_->Branch("NeutralHadronIso_DR0p3To0p4",&fNeutralHadronIso_DR0p3To0p4,"NeutralHadronIso_DR0p3To0p4/F");
218 <      tree_->Branch("NeutralHadronIso_DR0p4To0p5",&fNeutralHadronIso_DR0p4To0p5,"NeutralHadronIso_DR0p4To0p5/F");
219 <      tree_->Branch("PassTriggerDenominator",&fMuPassTriggerDenominator,"PassTriggerDenominator/O");
220 <
221 <    }
222 <
223 <    // initialze a MuonTree
224 <    void InitTree(){
225 <      assert(tree_);
226 <      // don't forget to set pointers to zero before you set address
227 <      // or you will fully appreciate that "ROOT sucks" :)
228 <      InitVariables();
229 <      //Set branch address
230 <      Int_t currentState = gErrorIgnoreLevel;
231 <      // gErrorIgnoreLevel = kError;
232 <      gErrorIgnoreLevel = kBreak;
233 <
234 <      tree_->SetBranchAddress("weight",&fWeight);
235 <      tree_->SetBranchAddress("run",&fRunNumber);
236 <      tree_->SetBranchAddress("lumi",&fLumiSectionNumber);
237 <      tree_->SetBranchAddress("event",&fEventNumber);
238 <      tree_->SetBranchAddress("EventNumberParity",&fMuEventNumberParity);
239 <      tree_->SetBranchAddress("Rho",&fRho);
240 <      tree_->SetBranchAddress("NVertices",&fNVertices);
241 <      tree_->SetBranchAddress("pt",&fMuPt);
242 <      tree_->SetBranchAddress("eta",&fMuEta);
243 <      tree_->SetBranchAddress("phi",&fMuPhi);
244 <      tree_->SetBranchAddress("typeBits",&fMuTypeBits);
245 <      tree_->SetBranchAddress("isAllArbitrated",&fIsAllArbitrated);
246 <      tree_->SetBranchAddress("TkNchi2",&fMuTkNchi2);
247 <      tree_->SetBranchAddress("GlobalNchi2",&fMuGlobalNchi2);
248 <      tree_->SetBranchAddress("NValidHits",&fMuNValidHits);
249 <      tree_->SetBranchAddress("NTrackerHits",&fMuNTrackerHits);
250 <      tree_->SetBranchAddress("NPixelHits",&fMuNPixelHits);
251 <      tree_->SetBranchAddress("NMatches",&fMuNMatches);
252 <      tree_->SetBranchAddress("D0",&fMuD0);
253 <      tree_->SetBranchAddress("IP3d",&fMuIP3d);
254 <      tree_->SetBranchAddress("IP3dSig",&fMuIP3dSig);
255 <      tree_->SetBranchAddress("TrkKink",&fMuTrkKink);
256 <      tree_->SetBranchAddress("GlobalKink",&fMuGlobalKink);
257 <      tree_->SetBranchAddress("SegmentCompatibility",&fMuSegmentCompatibility);
258 <      tree_->SetBranchAddress("CaloCompatibility",&fMuCaloCompatibility);
259 <      tree_->SetBranchAddress("HadEnergy",&fMuHadEnergy);
260 <      tree_->SetBranchAddress("HoEnergy",&fMuHoEnergy);
261 <      tree_->SetBranchAddress("EmEnergy",&fMuEmEnergy);
262 <      tree_->SetBranchAddress("HadS9Energy",&fMuHadS9Energy);
263 <      tree_->SetBranchAddress("HoS9Energy",&fMuHoS9Energy);
264 <      tree_->SetBranchAddress("EmS9Energy",&fMuEmS9Energy);
265 <      tree_->SetBranchAddress("TrkIso03",&fMuTrkIso03);
266 <      tree_->SetBranchAddress("EMIso03",&fMuEMIso03);
267 <      tree_->SetBranchAddress("HadIso03",&fMuHadIso03);
268 <      tree_->SetBranchAddress("TrkIso05",&fMuTrkIso05);
269 <      tree_->SetBranchAddress("EMIso05",&fMuEMIso05);
270 <      tree_->SetBranchAddress("HadIso05",&fMuHadIso05);
271 <      tree_->SetBranchAddress("PFIso04",&fMuPFIso04);
272 <      tree_->SetBranchAddress("ChargedIso_DR0p0To0p1",&fChargedIso_DR0p0To0p1);
273 <      tree_->SetBranchAddress("ChargedIso_DR0p1To0p2",&fChargedIso_DR0p1To0p2);
274 <      tree_->SetBranchAddress("ChargedIso_DR0p2To0p3",&fChargedIso_DR0p2To0p3);
275 <      tree_->SetBranchAddress("ChargedIso_DR0p3To0p4",&fChargedIso_DR0p3To0p4);
276 <      tree_->SetBranchAddress("ChargedIso_DR0p4To0p5",&fChargedIso_DR0p4To0p5);
277 <      tree_->SetBranchAddress("GammaIso_DR0p0To0p1",&fGammaIso_DR0p0To0p1);
278 <      tree_->SetBranchAddress("GammaIso_DR0p1To0p2",&fGammaIso_DR0p1To0p2);
279 <      tree_->SetBranchAddress("GammaIso_DR0p2To0p3",&fGammaIso_DR0p2To0p3);
280 <      tree_->SetBranchAddress("GammaIso_DR0p3To0p4",&fGammaIso_DR0p3To0p4);
281 <      tree_->SetBranchAddress("GammaIso_DR0p4To0p5",&fGammaIso_DR0p4To0p5);
282 <      tree_->SetBranchAddress("NeutralHadronIso_DR0p0To0p1",&fNeutralHadronIso_DR0p0To0p1);
283 <      tree_->SetBranchAddress("NeutralHadronIso_DR0p1To0p2",&fNeutralHadronIso_DR0p1To0p2);
284 <      tree_->SetBranchAddress("NeutralHadronIso_DR0p2To0p3",&fNeutralHadronIso_DR0p2To0p3);
285 <      tree_->SetBranchAddress("NeutralHadronIso_DR0p3To0p4",&fNeutralHadronIso_DR0p3To0p4);
286 <      tree_->SetBranchAddress("NeutralHadronIso_DR0p4To0p5",&fNeutralHadronIso_DR0p4To0p5);
287 <      tree_->SetBranchAddress("PassTriggerDenominator",&fMuPassTriggerDenominator);
286 <
287 <      gErrorIgnoreLevel = currentState;
288 <    }
160 >      /// create a MuonTree
161 >      void CreateTree(){
162 >        tree_ = new TTree("Muons","Muons");
163 >        f_ = 0;
164 >
165 >        //book the branches
166 >        tree_->Branch("weight",&fWeight,"weight/F");
167 >        tree_->Branch("run",&fRunNumber,"run/i");
168 >        tree_->Branch("lumi",&fLumiSectionNumber,"lumi/i");
169 >        tree_->Branch("event",&fEventNumber,"event/i");
170 >        tree_->Branch("EventNumberParity",&fMuEventNumberParity,"EventNumberParity/O");
171 >        tree_->Branch("Rho",&fRho,"Rho/F");
172 >        tree_->Branch("NVertices",&fNVertices,"NVertices/F");
173 >        tree_->Branch("pt",&fMuPt,"pt/F");
174 >        tree_->Branch("eta",&fMuEta,"eta/F");
175 >        tree_->Branch("phi",&fMuPhi,"phi/F");
176 >        tree_->Branch("typeBits",&fMuTypeBits,"typeBits/i");
177 >        tree_->Branch("isAllArbitrated",&fIsAllArbitrated,"isAllArbitrated/i");
178 >        tree_->Branch("TkNchi2",&fMuTkNchi2,"TkNchi2/F");
179 >        tree_->Branch("GlobalNchi2",&fMuGlobalNchi2,"GlobalNchi2/F");
180 >        tree_->Branch("NValidHits",&fMuNValidHits,"NValidHits/F");
181 >        tree_->Branch("NTrackerHits",&fMuNTrackerHits,"NTrackerHits/F");
182 >        tree_->Branch("NPixelHits",&fMuNPixelHits,"NPixelHits/F");
183 >        tree_->Branch("NMatches",&fMuNMatches,"NMatches/F");
184 >        tree_->Branch("D0",&fMuD0,"D0/F");
185 >        tree_->Branch("IP3d",&fMuIP3d,"IP3d/F");
186 >        tree_->Branch("IP3dSig",&fMuIP3dSig,"IP3dSig/F");
187 >        tree_->Branch("TrkKink",&fMuTrkKink,"TrkKink/F");
188 >        tree_->Branch("GlobalKink",&fMuGlobalKink,"GlobalKink/F");
189 >        tree_->Branch("SegmentCompatibility",&fMuSegmentCompatibility,"SegmentCompatibility/F");
190 >        tree_->Branch("CaloCompatibility",&fMuCaloCompatibility,"CaloCompatibility/F");
191 >        tree_->Branch("HadEnergy",&fMuHadEnergy,"HadEnergy/F");
192 >        tree_->Branch("HoEnergy",&fMuHoEnergy,"HoEnergy/F");
193 >        tree_->Branch("EmEnergy",&fMuEmEnergy,"EmEnergy/F");
194 >        tree_->Branch("HadS9Energy",&fMuHadS9Energy,"HadS9Energy/F");
195 >        tree_->Branch("HoS9Energy",&fMuHoS9Energy,"HoS9Energy/F");
196 >        tree_->Branch("EmS9Energy",&fMuEmS9Energy,"EmS9Energy/F");
197 >        tree_->Branch("TrkIso03",&fMuTrkIso03,"TrkIso03/F");
198 >        tree_->Branch("EMIso03",&fMuEMIso03,"EMIso03/F");
199 >        tree_->Branch("HadIso03",&fMuHadIso03,"HadIso03/F");
200 >        tree_->Branch("TrkIso05",&fMuTrkIso05,"TrkIso05/F");
201 >        tree_->Branch("EMIso05",&fMuEMIso05,"EMIso05/F");
202 >        tree_->Branch("HadIso05",&fMuHadIso05,"HadIso05/F");
203 >        tree_->Branch("PFIso04",&fMuPFIso04,"PFIso04/F");
204 >        tree_->Branch("ChargedIso_DR0p0To0p1",&fChargedIso_DR0p0To0p1,"ChargedIso_DR0p0To0p1/F");
205 >        tree_->Branch("ChargedIso_DR0p1To0p2",&fChargedIso_DR0p1To0p2,"ChargedIso_DR0p1To0p2/F");
206 >        tree_->Branch("ChargedIso_DR0p2To0p3",&fChargedIso_DR0p2To0p3,"ChargedIso_DR0p2To0p3/F");
207 >        tree_->Branch("ChargedIso_DR0p3To0p4",&fChargedIso_DR0p3To0p4,"ChargedIso_DR0p3To0p4/F");
208 >        tree_->Branch("ChargedIso_DR0p4To0p5",&fChargedIso_DR0p4To0p5,"ChargedIso_DR0p4To0p5/F");
209 >        tree_->Branch("GammaIso_DR0p0To0p1",&fGammaIso_DR0p0To0p1,"GammaIso_DR0p0To0p1/F");
210 >        tree_->Branch("GammaIso_DR0p1To0p2",&fGammaIso_DR0p1To0p2,"GammaIso_DR0p1To0p2/F");
211 >        tree_->Branch("GammaIso_DR0p2To0p3",&fGammaIso_DR0p2To0p3,"GammaIso_DR0p2To0p3/F");
212 >        tree_->Branch("GammaIso_DR0p3To0p4",&fGammaIso_DR0p3To0p4,"GammaIso_DR0p3To0p4/F");
213 >        tree_->Branch("GammaIso_DR0p4To0p5",&fGammaIso_DR0p4To0p5,"GammaIso_DR0p4To0p5/F");
214 >        tree_->Branch("NeutralHadronIso_DR0p0To0p1",&fNeutralHadronIso_DR0p0To0p1,"NeutralHadronIso_DR0p0To0p1/F");
215 >        tree_->Branch("NeutralHadronIso_DR0p1To0p2",&fNeutralHadronIso_DR0p1To0p2,"NeutralHadronIso_DR0p1To0p2/F");
216 >        tree_->Branch("NeutralHadronIso_DR0p2To0p3",&fNeutralHadronIso_DR0p2To0p3,"NeutralHadronIso_DR0p2To0p3/F");
217 >        tree_->Branch("NeutralHadronIso_DR0p3To0p4",&fNeutralHadronIso_DR0p3To0p4,"NeutralHadronIso_DR0p3To0p4/F");
218 >        tree_->Branch("NeutralHadronIso_DR0p4To0p5",&fNeutralHadronIso_DR0p4To0p5,"NeutralHadronIso_DR0p4To0p5/F");
219 >        tree_->Branch("PassTriggerDenominator",&fMuPassTriggerDenominator,"PassTriggerDenominator/O");
220 >
221 >      }
222 >
223 >      // initialze a MuonTree
224 >      void InitTree(){
225 >        assert(tree_);
226 >        // don't forget to set pointers to zero before you set address
227 >        // or you will fully appreciate that "ROOT sucks" :)
228 >        InitVariables();
229 >        //Set branch address
230 >        Int_t currentState = gErrorIgnoreLevel;
231 >        // gErrorIgnoreLevel = kError;
232 >        gErrorIgnoreLevel = kBreak;
233 >
234 >        tree_->SetBranchAddress("weight",&fWeight);
235 >        tree_->SetBranchAddress("run",&fRunNumber);
236 >        tree_->SetBranchAddress("lumi",&fLumiSectionNumber);
237 >        tree_->SetBranchAddress("event",&fEventNumber);
238 >        tree_->SetBranchAddress("EventNumberParity",&fMuEventNumberParity);
239 >        tree_->SetBranchAddress("Rho",&fRho);
240 >        tree_->SetBranchAddress("NVertices",&fNVertices);
241 >        tree_->SetBranchAddress("pt",&fMuPt);
242 >        tree_->SetBranchAddress("eta",&fMuEta);
243 >        tree_->SetBranchAddress("phi",&fMuPhi);
244 >        tree_->SetBranchAddress("typeBits",&fMuTypeBits);
245 >        tree_->SetBranchAddress("isAllArbitrated",&fIsAllArbitrated);
246 >        tree_->SetBranchAddress("TkNchi2",&fMuTkNchi2);
247 >        tree_->SetBranchAddress("GlobalNchi2",&fMuGlobalNchi2);
248 >        tree_->SetBranchAddress("NValidHits",&fMuNValidHits);
249 >        tree_->SetBranchAddress("NTrackerHits",&fMuNTrackerHits);
250 >        tree_->SetBranchAddress("NPixelHits",&fMuNPixelHits);
251 >        tree_->SetBranchAddress("NMatches",&fMuNMatches);
252 >        tree_->SetBranchAddress("D0",&fMuD0);
253 >        tree_->SetBranchAddress("IP3d",&fMuIP3d);
254 >        tree_->SetBranchAddress("IP3dSig",&fMuIP3dSig);
255 >        tree_->SetBranchAddress("TrkKink",&fMuTrkKink);
256 >        tree_->SetBranchAddress("GlobalKink",&fMuGlobalKink);
257 >        tree_->SetBranchAddress("SegmentCompatibility",&fMuSegmentCompatibility);
258 >        tree_->SetBranchAddress("CaloCompatibility",&fMuCaloCompatibility);
259 >        tree_->SetBranchAddress("HadEnergy",&fMuHadEnergy);
260 >        tree_->SetBranchAddress("HoEnergy",&fMuHoEnergy);
261 >        tree_->SetBranchAddress("EmEnergy",&fMuEmEnergy);
262 >        tree_->SetBranchAddress("HadS9Energy",&fMuHadS9Energy);
263 >        tree_->SetBranchAddress("HoS9Energy",&fMuHoS9Energy);
264 >        tree_->SetBranchAddress("EmS9Energy",&fMuEmS9Energy);
265 >        tree_->SetBranchAddress("TrkIso03",&fMuTrkIso03);
266 >        tree_->SetBranchAddress("EMIso03",&fMuEMIso03);
267 >        tree_->SetBranchAddress("HadIso03",&fMuHadIso03);
268 >        tree_->SetBranchAddress("TrkIso05",&fMuTrkIso05);
269 >        tree_->SetBranchAddress("EMIso05",&fMuEMIso05);
270 >        tree_->SetBranchAddress("HadIso05",&fMuHadIso05);
271 >        tree_->SetBranchAddress("PFIso04",&fMuPFIso04);
272 >        tree_->SetBranchAddress("ChargedIso_DR0p0To0p1",&fChargedIso_DR0p0To0p1);
273 >        tree_->SetBranchAddress("ChargedIso_DR0p1To0p2",&fChargedIso_DR0p1To0p2);
274 >        tree_->SetBranchAddress("ChargedIso_DR0p2To0p3",&fChargedIso_DR0p2To0p3);
275 >        tree_->SetBranchAddress("ChargedIso_DR0p3To0p4",&fChargedIso_DR0p3To0p4);
276 >        tree_->SetBranchAddress("ChargedIso_DR0p4To0p5",&fChargedIso_DR0p4To0p5);
277 >        tree_->SetBranchAddress("GammaIso_DR0p0To0p1",&fGammaIso_DR0p0To0p1);
278 >        tree_->SetBranchAddress("GammaIso_DR0p1To0p2",&fGammaIso_DR0p1To0p2);
279 >        tree_->SetBranchAddress("GammaIso_DR0p2To0p3",&fGammaIso_DR0p2To0p3);
280 >        tree_->SetBranchAddress("GammaIso_DR0p3To0p4",&fGammaIso_DR0p3To0p4);
281 >        tree_->SetBranchAddress("GammaIso_DR0p4To0p5",&fGammaIso_DR0p4To0p5);
282 >        tree_->SetBranchAddress("NeutralHadronIso_DR0p0To0p1",&fNeutralHadronIso_DR0p0To0p1);
283 >        tree_->SetBranchAddress("NeutralHadronIso_DR0p1To0p2",&fNeutralHadronIso_DR0p1To0p2);
284 >        tree_->SetBranchAddress("NeutralHadronIso_DR0p2To0p3",&fNeutralHadronIso_DR0p2To0p3);
285 >        tree_->SetBranchAddress("NeutralHadronIso_DR0p3To0p4",&fNeutralHadronIso_DR0p3To0p4);
286 >        tree_->SetBranchAddress("NeutralHadronIso_DR0p4To0p5",&fNeutralHadronIso_DR0p4To0p5);
287 >        tree_->SetBranchAddress("PassTriggerDenominator",&fMuPassTriggerDenominator);
288  
289 < };
289 >        gErrorIgnoreLevel = currentState;
290 >      }
291  
292 +  };
293  
294 + }
295  
296   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines