|
|
Go to the documentation of this file. 1 #ifndef BackgroundHandler_h
2 #define BackgroundHandler_h
12 #include <CLHEP/Vector/LorentzVector.h>
21 class TestBackgroundHandler;
38 const std::vector<double>& leftWindowBorders,
39 const std::vector<double>& rightWindowBorders,
40 const double* ResMass,
41 const double* massWindowHalfWidth);
54 const std::vector<std::pair<reco::Particle::LorentzVector, reco::Particle::LorentzVector> >& muonPairs,
64 const std::vector<double>& parBgr,
65 const std::vector<int>& parBgrOrder,
72 std::pair<double, double>
windowBorders(
const bool doBackgroundFit,
const int ires);
79 double resMass(
const bool doBackgroundFit,
const int ires);
87 void rescale(std::vector<double>& parBgr,
88 const double* ResMass,
89 const double* massWindowHalfWidth,
90 const std::vector<std::pair<reco::Particle::LorentzVector, reco::Particle::LorentzVector> >& muonPairs,
91 const double&
weight = 1.);
102 const bool* resConsidered,
103 const double* ResMass,
104 const double ResHalfWidth[],
114 const std::vector<double>& leftWindowBorders,
115 const std::vector<double>& rightWindowBorders)
const noexcept(
false);
145 #endif // BackgroundHandler_h
void consistencyCheck(const std::vector< int > &identifiers, const std::vector< double > &leftWindowBorders, const std::vector< double > &rightWindowBorders) const noexcept(false)
Used to check the consistency of passed parameters.
bool unlockParameter(const std::vector< int > &resfind, const unsigned int ipar)
returns true if the parameter is to be unlocked
void setParameters(double *Start, double *Step, double *Mini, double *Maxi, int *ind, TString *parname, const std::vector< double > &parBgr, const std::vector< int > &parBgrOrder, const int muonType)
Sets initial parameters for all the functions.
void countEventsInAllWindows(const std::vector< std::pair< reco::Particle::LorentzVector, reco::Particle::LorentzVector > > &muonPairs, const double &weight)
BackgroundHandler(const std::vector< int > &identifiers, const std::vector< double > &leftWindowBorders, const std::vector< double > &rightWindowBorders, const double *ResMass, const double *massWindowHalfWidth)
bool checkBackgroundWindow(const double &mass, const int iRegion)
Check if the mass value is inside the given background region.
int regionsParNum()
Returns the total number of parameters used for the regions.
void initializeParNums()
Initialize the parNums to be used in the shifts of parval.
friend class TestBackgroundHandler
std::pair< double, double > backgroundFunction(const bool doBackgroundFit, const double *parval, const int resTotNum, const int ires, const bool *resConsidered, const double *ResMass, const double ResHalfWidth[], const int MuonType, const double &mass, const double &eta1, const double &eta2)
std::vector< MassWindow > resonanceWindow_
std::vector< MassWindow > backgroundWindow_
int parNumsResonances_[6]
std::pair< double, double > windowBorders(const bool doBackgroundFit, const int ires)
Returns the appropriate window borders depending on whether the background is being fitted and on the...
void rescale(std::vector< double > &parBgr, const double *ResMass, const double *massWindowHalfWidth, const std::vector< std::pair< reco::Particle::LorentzVector, reco::Particle::LorentzVector > > &muonPairs, const double &weight=1.)
double resMass(const bool doBackgroundFit, const int ires)