Belle II Software  release-08-01-10
NoKickCuts Class Reference

This class is an auxiliary class that implement methods to access to a single cut, used in NoKickRTSel class. More...

#include <NoKickCuts.h>

Inheritance diagram for NoKickCuts:
Collaboration diagram for NoKickCuts:

Public Types

enum  EMinMax {
  c_Min ,
  c_Max
}
 enum for minimum/maximum value of cuts
 
enum  EParameters {
  c_Omega ,
  c_D0 ,
  c_Phi0 ,
  c_Z0 ,
  c_Tanlambda
}
 enum for parameters name
 
enum  ECutName {
  c_Norm ,
  c_Pow ,
  c_Bkg
}
 enum for the cuts name
 

Public Member Functions

 NoKickCuts ()
 constructor of the class without arguments, used in cuts evaluations
 
 NoKickCuts (std::string m_fileName)
 constructor with name of the CutFile, used in cuts application
 
std::vector< double > cutSelector (double sintheta, double momentum, int layer1, int layer2, EParameters par)
 This methods selects 2 cuts (minimum and maximum inside a vector) from the information of theta, momentum, the layers and the parameter. More...
 
double getCut (int layer1, int layer2, EParameters par, EMinMax m, ECutName cut)
 
void FillCuts (std::string m_fileName)
 This method fill the cuts (used in NoKickCutsEval method) to create the cutfile. More...
 

Private Member Functions

 ClassDef (NoKickCuts, 1)
 Making this class a ROOT class.
 

Private Attributes

std::vector< std::vector< std::vector< std::vector< double > > > > m_cutNorm
 matrix of fit-parameter of cut, norm
 
std::vector< std::vector< std::vector< std::vector< double > > > > m_cutPow
 matrix of fit-parameter of cut, power
 
std::vector< std::vector< std::vector< std::vector< double > > > > m_cutBkg
 matrix of fit-parameter of cut, constant
 
int m_nbinpar = 5
 number of track parameter
 
int m_nbinlay = 7
 number of layers (IP too)
 

Detailed Description

This class is an auxiliary class that implement methods to access to a single cut, used in NoKickRTSel class.

Definition at line 25 of file NoKickCuts.h.

Member Function Documentation

◆ cutSelector()

std::vector< double > cutSelector ( double  sintheta,
double  momentum,
int  layer1,
int  layer2,
EParameters  par 
)

This methods selects 2 cuts (minimum and maximum inside a vector) from the information of theta, momentum, the layers and the parameter.

The method takes the cuts from cutfile using the method getCuts and then evaluate the effective cut using theta and momentum behaviour, from the function Norm/(p^Pow*sqrt(sin(theta)))+Bkg. input: (sin(angle), momentum, first layer, second layer, track parameter) output: evaluated cut value

Definition at line 18 of file NoKickCuts.cc.

19 {
20  std::vector<double> out;
21  for (int i = c_Min; i <= c_Max; i++) {
22  double cut = getCut(layer1, layer2, par, (EMinMax)i, c_Norm) /
23  (sqrt(sinTheta) * pow(momentum, getCut(layer1, layer2, par, (EMinMax)i, c_Pow)))
24  + getCut(layer1, layer2, par, (EMinMax)i, c_Bkg);
25  out.push_back(cut);
26  }
27  return out;
28 }
double getCut(int layer1, int layer2, EParameters par, EMinMax m, ECutName cut)
Definition: NoKickCuts.cc:30
EMinMax
enum for minimum/maximum value of cuts
Definition: NoKickCuts.h:38
double sqrt(double a)
sqrt for double
Definition: beamHelpers.h:28

◆ FillCuts()

void FillCuts ( std::string  m_fileName)

This method fill the cuts (used in NoKickCutsEval method) to create the cutfile.

input: (name of the cutFile)

Definition at line 59 of file NoKickCuts.cc.

◆ getCut()

double getCut ( int  layer1,
int  layer2,
EParameters  par,
EMinMax  m,
ECutName  cut 
)

numeration order inside vector<vector<vector<vetor<double>>>> cut: <EMinMax<EParameters<layer_int<layer_ext>>>> EMinMax: 0=min,1=max EParameters: 0=omega, 1=d0, 2=phi0, 3=z0, 4=tanLmabda

Definition at line 30 of file NoKickCuts.cc.


The documentation for this class was generated from the following files: