87 SetName(
"NcCalcluster [sig, sig11, sig33, sig55,...]");
123 for (Int_t i=1; i<=
fNvetos; i++)
155 sig=m.GetSignal(1,1);
160 m.SetClusteredSignal(0.);
175 SetName(
"NcCalcluster [sig, sig11, sig33, sig55,...]");
313 if (dcol>drow) jring=dcol;
317 if ((jring+2)<=nvalues)
319 for (Int_t i=(jring+2); i<=nvalues; i++)
326 for (Int_t j=(nvalues+1); j<=(jring+2); j++)
345 cout <<
" *NcCalcluster::Add* No action. Cluster should be started first."
384 TString name=s.GetName();
385 name.Append(
" + additional chi2, ndf and CL values");
388 Double_t vecc[3],vecv[3];
395 if (vecv[0]) scale=vecc[0]/vecv[0];
403 Double_t dx=vecc[0]-vecv[0];
404 Double_t dy=vecc[1]-vecv[1];
407 Double_t sxc2=vecc[0]*vecc[0];
408 Double_t syc2=vecc[1]*vecc[1];
409 Double_t sxv2=vecv[0]*vecv[0];
410 Double_t syv2=vecv[1]*vecv[1];
411 Double_t sumx2=sxc2+sxv2;
412 Double_t sumy2=syc2+syv2;
414 if (sumx2>0 && sumy2>0) chi2=(dx*dx/sumx2)+(dy*dy/sumy2);
417 Double_t prob=m.
Prob(chi2,ndf);
418 if (chi2>0) sx->
SetSignal(chi2,nvalues+1);
420 if (prob>0) sx->
SetSignal(prob,nvalues+3);
448 cout <<
" *NcCalcluster::GetVetoSignal* No veto signals present." << endl;
459 cout <<
" *NcCalcluster::GetVetoSignal* Signal number " << i <<
" out of range."
460 <<
" Nvetos = " <<
fNvetos << endl;
480 for (Int_t i=0; i<
fNvetos; i++)
487 if (cl>clmax) clmax=cl;
508 for (Int_t i=0; i<
fNvetos; i++)
514 if (s->
GetSignal(nvalues) > cl)
return 1;
Int_t GetDeadValue(Int_t j=1) const
Description of a cluster of calorimeter modules.
Int_t HasVetoHit(Double_t cl) const
Int_t GetNmodules() const
Float_t GetColumnDispersion() const
Float_t GetVetoLevel() const
NcSignal * GetVetoSignal(Int_t j) const
void Start(NcCalmodule &m)
Float_t GetRowDispersion() const
void AddVetoSignal(NcSignal &s, Int_t extr=1)
Description of a module in a calorimeter system.
Float_t GetClusteredSignal() const
void SetClusteredSignal(Double_t val)
Various mathematical tools for scientific analysis.
Double_t Prob(Double_t chi2, Int_t ndf, Int_t mode=1) const
void GetPosition(Double_t *r, TString f, TString u="rad", Float_t s=-1) const
NcPosition & GetPosition()
void GetPositionErrors(Double_t *e, TString f, TString u="rad", Float_t s=-1) const
void SetPosition(Double_t *r, TString f, TString u="rad")
virtual void Reset(Int_t mode=0)
virtual void SetSignal(Double_t sig, Int_t j=1)
virtual Float_t GetSignal(Int_t j=1, Int_t mode=0) const
NcSignal(const char *name="", const char *title="")
virtual void AddSignal(Double_t sig, Int_t j=1)