CMS 3D CMS Logo

TFitConstraintM.h
Go to the documentation of this file.
1 #ifndef TFitConstraintM_hh
2 #define TFitConstraintM_hh
3 
5 #include <vector>
6 
7 #include "TMatrixD.h"
8 
9 class TAbsFitParticle;
10 
12 public:
14  TFitConstraintM(std::vector<TAbsFitParticle*>* ParList1, std::vector<TAbsFitParticle*>* ParList2, Double_t Mass = 0);
15  TFitConstraintM(const TString& name,
16  const TString& title,
17  std::vector<TAbsFitParticle*>* ParList1,
18  std::vector<TAbsFitParticle*>* ParList2,
19  Double_t Mass = 0);
20 
21  ~TFitConstraintM() override;
22 
23  void addParticle1(TAbsFitParticle* particle);
24  void addParticle2(TAbsFitParticle* particle);
26  TAbsFitParticle* p2 = nullptr,
27  TAbsFitParticle* p3 = nullptr,
28  TAbsFitParticle* p4 = nullptr,
29  TAbsFitParticle* p5 = nullptr,
30  TAbsFitParticle* p6 = nullptr,
31  TAbsFitParticle* p7 = nullptr,
32  TAbsFitParticle* p8 = nullptr,
33  TAbsFitParticle* p9 = nullptr,
34  TAbsFitParticle* p10 = nullptr);
36  TAbsFitParticle* p2 = nullptr,
37  TAbsFitParticle* p3 = nullptr,
38  TAbsFitParticle* p4 = nullptr,
39  TAbsFitParticle* p5 = nullptr,
40  TAbsFitParticle* p6 = nullptr,
41  TAbsFitParticle* p7 = nullptr,
42  TAbsFitParticle* p8 = nullptr,
43  TAbsFitParticle* p9 = nullptr,
44  TAbsFitParticle* p10 = nullptr);
46 
47  // returns derivative df/dP with P=(p,E) and f the constraint f=0 for
48  // one particle. The matrix contains one row (df/dp, df/dE).
49  TMatrixD* getDerivative(TAbsFitParticle* particle) override;
50  Double_t getInitValue() override;
51  Double_t getCurrentValue() override;
52 
53  Bool_t OnList(std::vector<TAbsFitParticle*>* List, TAbsFitParticle* particle);
54  Double_t CalcMass(std::vector<TAbsFitParticle*>* List, Bool_t IniVal);
55 
56  TString getInfoString() override;
57  void print() override;
58 
59 protected:
60  std::vector<TAbsFitParticle*>
61  _ParList1; // Vector containing first list of constrained particles ( sum[ m_i ] - sum[ m_j ] == 0 )
62  std::vector<TAbsFitParticle*>
63  _ParList2; // Vector containing second list of constrained particles ( sum[ m_i ] - sum[ m_j ] == 0 )
65 
66 private:
67  ClassDefOverride(TFitConstraintM, 0)
68 };
69 
70 #endif
TFitConstraintM::~TFitConstraintM
~TFitConstraintM() override
Definition: TFitConstraintM.cc:160
TFitConstraintM
Definition: TFitConstraintM.h:11
TFitConstraintM::getInfoString
TString getInfoString() override
Definition: TFitConstraintM.cc:260
TFitConstraintM::_ParList2
std::vector< TAbsFitParticle * > _ParList2
Definition: TFitConstraintM.h:63
TFitConstraintM::addParticle1
void addParticle1(TAbsFitParticle *particle)
Definition: TFitConstraintM.cc:73
TFitConstraintM::addParticle2
void addParticle2(TAbsFitParticle *particle)
Definition: TFitConstraintM.cc:80
TFitConstraintM::setMassConstraint
void setMassConstraint(Double_t Mass)
Definition: TFitConstraintM.h:45
TFitConstraintM::CalcMass
Double_t CalcMass(std::vector< TAbsFitParticle * > *List, Bool_t IniVal)
Definition: TFitConstraintM.cc:244
TFitConstraintM::_ParList1
std::vector< TAbsFitParticle * > _ParList1
Definition: TFitConstraintM.h:61
TAbsFitConstraint
Definition: TAbsFitConstraint.h:10
p2
double p2[4]
Definition: TauolaWrapper.h:90
HLTSiStripMonitoring_cff.Mass
Mass
Definition: HLTSiStripMonitoring_cff.py:135
TFitConstraintM::addParticles2
void addParticles2(TAbsFitParticle *p1, TAbsFitParticle *p2=nullptr, TAbsFitParticle *p3=nullptr, TAbsFitParticle *p4=nullptr, TAbsFitParticle *p5=nullptr, TAbsFitParticle *p6=nullptr, TAbsFitParticle *p7=nullptr, TAbsFitParticle *p8=nullptr, TAbsFitParticle *p9=nullptr, TAbsFitParticle *p10=nullptr)
Definition: TFitConstraintM.cc:122
TFitConstraintM::addParticles1
void addParticles1(TAbsFitParticle *p1, TAbsFitParticle *p2=nullptr, TAbsFitParticle *p3=nullptr, TAbsFitParticle *p4=nullptr, TAbsFitParticle *p5=nullptr, TAbsFitParticle *p6=nullptr, TAbsFitParticle *p7=nullptr, TAbsFitParticle *p8=nullptr, TAbsFitParticle *p9=nullptr, TAbsFitParticle *p10=nullptr)
Definition: TFitConstraintM.cc:87
TAbsFitParticle
Definition: TAbsFitParticle.h:9
TFitConstraintM::getInitValue
Double_t getInitValue() override
Definition: TFitConstraintM.cc:215
p4
double p4[4]
Definition: TauolaWrapper.h:92
p1
double p1[4]
Definition: TauolaWrapper.h:89
TFitConstraintM::TFitConstraintM
TFitConstraintM()
Definition: TFitConstraintM.cc:22
TAbsFitConstraint.h
overlapproblemtsosanalyzer_cfi.title
title
Definition: overlapproblemtsosanalyzer_cfi.py:7
TFitConstraintM::_TheMassConstraint
Double_t _TheMassConstraint
Definition: TFitConstraintM.h:64
TFitConstraintM::print
void print() override
Definition: TFitConstraintM.cc:276
TFitConstraintM::getCurrentValue
Double_t getCurrentValue() override
Definition: TFitConstraintM.cc:223
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
p3
double p3[4]
Definition: TauolaWrapper.h:91
TFitConstraintM::OnList
Bool_t OnList(std::vector< TAbsFitParticle * > *List, TAbsFitParticle *particle)
Definition: TFitConstraintM.cc:231
TFitConstraintM::getDerivative
TMatrixD * getDerivative(TAbsFitParticle *particle) override
Definition: TFitConstraintM.cc:165