-
Notifications
You must be signed in to change notification settings - Fork 0
/
LepTopMassFitter.h
executable file
·87 lines (56 loc) · 2.01 KB
/
LepTopMassFitter.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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#ifndef LepTopMassFitter_H
#define LepTopMassFitter_H
#include <TObject.h>
#include <TMinuit.h>
#include <TLorentzVector.h>
#include <TMath.h>
#include <TString.h>
#include <TStyle.h>
#include <TLegend.h>
#include <TCanvas.h>
#include <TSystem.h>
#include <vector>
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <string>
#include "MassAnaInput.h"
#include "WFormat.h"
#include "PseudoExp.h"
class LepFitVectors : public TObject {
public:
LepFitVectors(){}
~LepFitVectors(){}
TLorentzVector mp4;
TLorentzVector np4;
TLorentzVector bp4;
// ClassDef(FitVectors, 1);
};
class LepTopMassFitter : public TObject {
private:
double tmass;
double bTh;
int n_btag;
int n_Jets;
string IsMES ;
string hfolder;
MassAnaInput* fitInput;
PseudoExp* pseudoExp;
public:
LepTopMassFitter();
~LepTopMassFitter();
void FitLepTop( TLorentzVector mP4, TLorentzVector nP4, TLorentzVector bP4, Double_t* pars, Double_t* errs, bool isJES );
static void LTMFCN(Int_t &npar, Double_t *, Double_t &tChi2, Double_t *par, Int_t iflag);
vector<TLorentzVector> GetLorentzVector( jlist Ls, double jpx[], double jpy[], double jpz[], double jE[] );
double BTagProbability( double bCut[], int NofB, int jid[] );
vector<TLorentzVector> GetEventObjects( int nj, double jpx[], double jpy[], double jpz[], double jE[], double mpx, double mpy, double mpz, double mE );
vector<TLorentzVector> GetLorentzVector( vector<TLorentzVector>& oblist, jlist Ls );
vector<TLorentzVector> ReFitNeutrino( TLorentzVector v1, TLorentzVector muP4, Double_t *par );
vector<TLorentzVector> NeuP4Solution( TLorentzVector muP4, TLorentzVector neuP4 );
void ReFitLepTopSolution( string fileName, recoObj* wObj, double scale = 1., vector<int>* evtlist = NULL, bool smearing = false, TTree* theTree = NULL );
void LepTopMCSolution( string fileName, recoObj* wObj );
//ClassDef(LepTopMassFitter, 1);
};
//#if !defined(__CINT__)
// ClassImp(LepTopMassFitter);
#endif