3 |
|
// |
4 |
|
// MCEventInfo |
5 |
|
// |
6 |
+ |
// This class holds monte-carle generation specific information, as for example stored |
7 |
+ |
// in HepMC::PdfInfo and HepMC::GenEvent. |
8 |
+ |
// |
9 |
|
// Authors: C.Loizides |
10 |
|
//-------------------------------------------------------------------------------------------------- |
11 |
|
|
12 |
< |
#ifndef DATATREE_MCEVENTINFO_H |
13 |
< |
#define DATATREE_MCEVENTINFO_H |
12 |
> |
#ifndef MITANA_DATATREE_MCEVENTINFO_H |
13 |
> |
#define MITANA_DATATREE_MCEVENTINFO_H |
14 |
|
|
15 |
< |
#include "MitAna/DataTree/interface/Types.h" |
15 |
> |
#include "MitAna/DataTree/interface/DataBase.h" |
16 |
|
|
17 |
|
namespace mithep |
18 |
|
{ |
19 |
< |
class MCEventInfo |
19 |
> |
class MCEventInfo : public DataBase |
20 |
|
{ |
21 |
|
public: |
22 |
< |
MCEventInfo(Double_t w=0) : fWeight(w) {} |
23 |
< |
virtual ~MCEventInfo() {} |
22 |
> |
MCEventInfo() : fProcessId(0), fScale(0), fWeight(0), fId1(0), fId2(0), |
23 |
> |
fX1(0), fX2(0), fScalePdf(0), fPdf1(0), fPdf2(0), fFlavorHistoryPath(0) {} |
24 |
|
|
25 |
< |
Double_t Weight() const { return fWeight; } |
26 |
< |
void SetWeight(Double_t w) { fWeight=w; } |
25 |
> |
Int_t Id1() const { return fId1; } |
26 |
> |
Int_t Id2() const { return fId2; } |
27 |
> |
EObjType ObjType() const { return kMCEventInfo; } |
28 |
> |
Double_t Pdf1() const { return fPdf1; } |
29 |
> |
Double_t Pdf2() const { return fPdf2; } |
30 |
> |
Int_t ProcessId() const { return fProcessId; } |
31 |
> |
Double_t Scale() const { return fScale; } |
32 |
> |
Double_t ScalePdf() const { return fScalePdf; } |
33 |
> |
Double_t X1() const { return fX1; } |
34 |
> |
Double_t X2() const { return fX2; } |
35 |
> |
Double_t Weight() const { return fWeight; } |
36 |
> |
Int_t FlavorHistoryPath() const { return fFlavorHistoryPath; } |
37 |
> |
void SetId1(Int_t id) { fId1 = id; } |
38 |
> |
void SetId2(Int_t id) { fId2 = id; } |
39 |
> |
void SetPdf1(Double_t p) { fPdf1 = p; } |
40 |
> |
void SetPdf2(Double_t p) { fPdf2 = p; } |
41 |
> |
void SetProcessId(Int_t id) { fProcessId = id; } |
42 |
> |
void SetScale(Double_t s) { fScale = s; } |
43 |
> |
void SetScalePdf(Double_t s) { fScalePdf = s; } |
44 |
> |
void SetWeight(Double_t w) { fWeight = w; } |
45 |
> |
void SetX1(Double_t x) { fX1 = x; } |
46 |
> |
void SetX2(Double_t x) { fX2 = x; } |
47 |
> |
void SetFlavorHistoryPath(Int_t p) { fFlavorHistoryPath = p; } |
48 |
|
|
49 |
|
protected: |
50 |
< |
Double32_t fWeight; //event weight |
51 |
< |
|
52 |
< |
ClassDef(MCEventInfo, 1) // Monte-Carlo event info class |
50 |
> |
Int_t fProcessId; //process id |
51 |
> |
Double32_t fScale; //scale |
52 |
> |
Double32_t fWeight; //weight |
53 |
> |
Int_t fId1; //pdg of first parton |
54 |
> |
Int_t fId2; //pdg of second parton |
55 |
> |
Double32_t fX1; //bjorken x1 |
56 |
> |
Double32_t fX2; //bjorken x2 |
57 |
> |
Double32_t fScalePdf; //scale (Q^2) |
58 |
> |
Double32_t fPdf1; //pdf1/x1 |
59 |
> |
Double32_t fPdf2; //pdf2/x2 |
60 |
> |
Int_t fFlavorHistoryPath; //Number indicating flavor history |
61 |
> |
|
62 |
> |
ClassDef(MCEventInfo, 3) // Monte-Carlo event info class |
63 |
|
}; |
64 |
|
} |
65 |
|
#endif |