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

# Content
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