/
stepiiteration.h
executable file
·71 lines (57 loc) · 1.75 KB
/
stepiiteration.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#ifndef STEPIITERATION_H
#define STEPIITERATION_H
#include "stepibeamline.h"
#include "units.h"
#include "TMath.h"
#include "TFile.h"
#include "TTree.h"
#include <string>
#include "units.h"
#include <QHash>
#include <QString>
class StepIIteration
{
public:
StepIIteration(StepIBeamLine *beamline);
~StepIIteration();
void ReconstructEvent(double t, double &delta, double x0, double x1, double y0, double y1, double mass);
void ReconstructEvent(double t, double &delta, double x0, double x1, double y0, double y1, double mass, int muonIDNumber);
void Bad(double t, double x0, double x1, double y0, double y1, double mass);
void Bad(double t, double x0, double x1, double y0, double y1, double mass, int muonIDNumber);
void CHEAT(double t, double &delta, double x0, double ax0, double y0, double ay0, double mass);
void Write();
QHash<QString, double> Result();
private:
StepIBeamLine *_beamline;
TFile *_file;
TTree *_T;
int _good;
double _mass;
double _delta_in;
double _t;
double _z;
double _beta;
double _gamma;
double _P, _dP;
double _x0, _ax0;
double _x1, _ax1;
double _y0, _ay0;
double _y1, _ay1;
double _delta_out;
// quantities added by VBlackmore, Nov 2012
double _Ax;
double _Ay;
double _Bx;
double _By;
int _muonIDNumber;
bool VBS;
std::string _name;
void calculateMomentum(double t, double delta, double mass, double &beta, double &gamma, double &P);
double einstein_beta(double z, double t);
double einstein_gamma(double beta);
double rel_mom(double beta, double gamma, double mass);
double momentumCorrection(double p);
double dEdx(double p, double ZoverA, double I);
Units u;
};
#endif // STEPIITERATION_H