50 m_intenManager( intenManager ),
51 m_parManager( parManager ),
52 m_thisId( m_idCounter++ ),
73 for(
int i = 1; i < m_numProc; ++i ){
78 assert( m_thisId ==
id );
87 if( m_isMaster && m_thisId ==
kFirstId ){
97 for(
int i = 1; i < m_numProc; ++i ){
107 assert( m_isMaster );
122 for(
int i = 1; i < m_numProc; ++i ){
132 for(
int i = 1; i < m_numProc; ++i ){
144 for(
int i = 1; i < m_numProc; ++i ){
147 MPI_COMM_WORLD, &status );
150 sumBkgWeights += data[1];
151 numBkgEvents += data[2];
152 numDataEvents += data[3];
165 for(
int i = 1; i < m_numProc; ++i ){
182 LikelihoodCalculatorMPI::updateParameters()
184 assert( !m_isMaster );
191 LikelihoodCalculatorMPI::updateAmpParameter()
193 assert( !m_isMaster );
200 LikelihoodCalculatorMPI::computeLikelihood()
202 assert( !m_isMaster );
215 LikelihoodCalculatorMPI::setupMPI()
217 MPI_Comm_rank( MPI_COMM_WORLD, &m_rank );
218 MPI_Comm_size( MPI_COMM_WORLD, &m_numProc );
220 m_isMaster = ( m_rank == 0 );
223 int LikelihoodCalculatorMPI::m_idCounter =
kFirstId;
void setNumBkgEvents(double num)
void setSumBkgWeights(double sum)
void setNumDataEvents(double num)
static void registerCalculator(int id, LikelihoodCalculatorMPI *calc)
void updateAmpParameter(const string &parName="")
virtual bool hasTermWithFreeParam() const =0
double numDataEvents() const
~LikelihoodCalculatorMPI()
LikelihoodCalculatorMPI(const IntensityManager &intenManager, const NormIntInterface &normInt, DataReader *dataReaderSignal, DataReader *dataReaderBkgnd, ParameterManagerMPI &parManager)
double sumBkgWeights() const
double numBkgEvents() const