MarlinKinfit  0.4.0
TopEventILC.h
1 // Class TopEventILC
3 //
4 // Author: Benno List, Jenny Boehme
5 // Last update: $Date: 2008/02/12 16:43:26 $
6 // by: $Author: blist $
7 //
8 // Description: class to generate and fit top pair events at ILC
9 //
11 #ifdef MARLIN_USE_ROOT
12 
13 #ifndef __TOPEVENTILC_H
14 #define __TOPEVENTILC_H
15 
16 #include "BaseEvent.h"
17 #include "JetFitObject.h"
18 #include "MomentumConstraint.h"
19 #include "MassConstraint.h"
21 
22 class TopEventILC : public BaseEvent {
23  public:
24  TopEventILC();
25  virtual ~TopEventILC();
26  virtual void genEvent();
27  virtual int fitEvent (BaseFitter& fitter);
28 
29  double bwrandom (double r, double e0, double gamma, double emin, double emax) const;
30 
31  BaseConstraint* getPxConstraint() {return &pxc;};
32  BaseConstraint* getPyConstraint() {return &pyc;};
33  BaseConstraint* getPzConstraint() {return &pzc;};
34  BaseConstraint* getEConstraint() {return &ec;};
35  BaseConstraint* getW1Constraint() {return softmasses ? (BaseConstraint*) &sw1 : (BaseConstraint*) &w1;};
36  BaseConstraint* getW2Constraint() {return softmasses ? (BaseConstraint*) &sw2 : (BaseConstraint*) &w2;};
37  BaseConstraint* getTopConstraint() {return softmasses ? (BaseConstraint*) &sw : (BaseConstraint*) &w;};
38 
39  double getW1Mass() {return softmasses ? w1.getMass() : sw1.getMass();};
40  double getW2Mass() {return softmasses ? w2.getMass() : sw2.getMass();};
41  double getTopMass(int flag) {return softmasses ? w.getMass(flag) : sw.getMass();};
42  double getTop1Mass() {return fvsmear[1]->getM();};
43  double getTop2Mass() {return fvsmear[2]->getM();};
44 
45  void setDebug (bool _debug) {debug = _debug;};
46 
47  ParticleFitObject* getTrueFitObject (int i) {return bfo[i];};
48  ParticleFitObject* getStartFitObject (int i) {return bfostart[i];};
49  ParticleFitObject* getFittedFitObject (int i) {return bfosmear[i];};
50  FourVector* getTrueFourVector (int i) {return fv[i];};
51 
52  bool softmasses, leptonic, leptonasjet, debug;
53 
54  protected:
55 
56  enum {NFV = 11, NBFO = 6};
57  FourVector *fv[NFV];
58  FourVector *fvsmear[NFV];
59  FourVector *fvfinal[NFV];
60  ParticleFitObject *bfo[NBFO];
61  ParticleFitObject *bfostart[NBFO];
62  ParticleFitObject *bfosmear[NBFO];
63 
68  MassConstraint w1;
69  MassConstraint w2;
74 
75 
76 
77 };
78 
79 
80 #endif // __TOPEVENTILC_H
81 
82 #endif // MARLIN_USE_ROOT
Declares class SoftGaussMassConstraint.
virtual void genEvent()=0
provides four-momenta (i.e. read values from ntuple, run toy MC, ...)
Declares class MomentumConstraint.
Abstract base class for fitting engines of kinematic fits.
Definition: BaseFitter.h:63
Abstract base class for different kinds of events.
Definition: BaseEvent.h:31
Implements constraint 0 = mass1 - mass2 - m.
Definition: MassConstraint.h:45
Implements a constraint of the form efact*sum(E)+pxfact*sum(px)+pyfact*sum(py)+pzfact*sum(pz)=value.
Definition: MomentumConstraint.h:44
virtual int fitEvent(BaseFitter &fitter)=0
do it!
Abstract base class for particle objects of kinematic fits.
Definition: ParticleFitObject.h:63
Declares class BaseEvent.
Declares class JetFitObject.
Implements constraint 0 = mass1 - mass2 - m.
Definition: SoftGaussMassConstraint.h:48
Abstract base class for constraints of kinematic fits.
Definition: BaseConstraint.h:85
Declares class MassConstraint.