ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/FakeMods/interface/FakeEventHeader.h
Revision: 1.1
Committed: Tue Jun 30 10:47:16 2009 UTC (15 years, 10 months ago) by loizides
Content type: text/plain
Branch: MAIN
Log Message:
Added FakeMods.

File Contents

# User Rev Content
1 loizides 1.1 //--------------------------------------------------------------------------------------------------
2     // $Id: $
3     //
4     // FakeEventHeader
5     //
6     // Class to hold information specific for events where some fakable object has been promoted
7     // to a (faked) lepton.
8     //
9     // Authors: S. Xie
10     //--------------------------------------------------------------------------------------------------
11    
12     #ifndef MITPHYSICS_FAKEMODS_FAKEEVENTHEADER_H
13     #define MITPHYSICS_FAKEMODS_FAKEEVENTHEADER_H
14    
15     #include "MitAna/DataTree/interface/DataObject.h"
16     #include "MitAna/DataTree/interface/Jet.h"
17     #include "MitAna/DataTree/interface/JetFwd.h"
18     #include "MitAna/DataCont/interface/ObjArray.h"
19     #include "MitAna/DataCont/interface/Array.h"
20     #include "MitPhysics/FakeMods/interface/FakeObject.h"
21     #include "MitPhysics/FakeMods/interface/FakeObjectFwd.h"
22    
23     namespace mithep
24     {
25     class FakeEventHeader : public DataObject
26     {
27     public:
28     FakeEventHeader() : fWeight(1.0), fWeightLowError(0.0), fWeightHighError(0.0) {}
29     ~FakeEventHeader() {}
30    
31     Double_t Weight() const { return fWeight; }
32     Double_t WeightLowError() const { return fWeightLowError; }
33     Double_t WeightHighError() const { return fWeightHighError; }
34     const FakeObject *FakeObj(UInt_t i) const { return fFakeObjects.At(i); }
35     UInt_t FakeObjsSize() const { return fFakeObjects.GetEntries(); }
36     const Jet *UnfakedJet(UInt_t i) const { return fJets.At(i); }
37     UInt_t NJets() const { return fJets.GetEntries(); }
38     void SetWeight(Double_t w) { fWeight = w; }
39     void SetWeightLowError(Double_t error) { fWeightLowError = error; }
40     void SetWeightHighError(Double_t error) { fWeightHighError = error; }
41     void AddJets(const Jet *jet) { fJets.Add(jet); }
42     void AddFakeObject(const Particle *p, EObjType faketype,
43     Bool_t fakeTag, Bool_t mcTag);
44     void AddFakeObject(const mithep::FakeObject *fo);
45    
46     protected:
47    
48     Double_t fWeight; //!fake event weight
49     Double_t fWeightLowError; //!fake event weight low error
50     Double_t fWeightHighError; //!fake event weight high error
51     FakeObjectArr fFakeObjects; //!fake objects
52     JetOArr fJets; //!collection of jets after some have been
53    
54     ClassDef(FakeEventHeader, 1) // Event header class
55     };
56     }
57    
58     //--------------------------------------------------------------------------------------------------
59     inline void mithep::FakeEventHeader::AddFakeObject(const Particle *p, EObjType faketype,
60     Bool_t fakeTag, Bool_t mcTag)
61     {
62     // Add new fake object
63     mithep::FakeObject *newFake = fFakeObjects.AddNew();
64     newFake->SetParticle(p);
65     newFake->SetFakeType(faketype);
66     newFake->SetFakeTag(fakeTag);
67     newFake->SetMCTag(mcTag);
68     }
69    
70     //--------------------------------------------------------------------------------------------------
71     inline void mithep::FakeEventHeader::AddFakeObject(const mithep::FakeObject *fo)
72     {
73     // Add new fake object
74     mithep::FakeObject *newFake = fFakeObjects.AddNew();
75     newFake->SetParticle(fo->FakeParticle());
76     newFake->SetFakeType(fo->ObjType());
77     newFake->SetFakeTag(fo->FakeTag());
78     newFake->SetMCTag(fo->MCTag());
79     }
80    
81     #endif