54 for (
int i = 0; i < 8; i++) {
62 fCr1Ch1x2 =
MakeTH2(
'I',
"Cr1Ch1x2",
"Crate 1 channel 1x2", 200, 1., 5001., 200, 1., 5001.);
63 fHis1 =
MakeTH1(
'I',
"His1",
"Condition histogram", 5000, 1., 5001.);
64 fHis2 =
MakeTH1(
'I',
"His2",
"Condition histogram", 5000, 1., 5001.);
74 Double_t cutpnts[3][2] = { {400, 800}, {700, 900}, {600, 1100} };
82 ((*fConArr1)[0])->SetValues(200,400);
83 ((*fConArr1)[1])->SetValues(700,1000);
84 ((*fConArr1)[2])->SetValues(1500,2000);
95 Double_t xvalues[4] = { 1000, 2000, 1500, 1000 };
96 Double_t yvalues[4] = { 1000, 1000, 3000, 1000 };
97 TCutG *mycut =
new TCutG(
"cut2", 4, xvalues, yvalues);
117 ((*fConArr2)[0])->Enable();
118 ((*fConArr2)[1])->Enable();
175 for (
int i = 0; i < 8; i++) {
187 TString hname = TString::Format(
"Crate1/Cr1Ch%02d", i + 1);
188 TString htitle = TString::Format(
"Crate 1 channel %2d", i + 1);
189 fCr1Ch[i] =
MakeTH1(
'I', hname.Data(), htitle.Data(), nbins, xmin, xmax);
190 hname = TString::Format(
"Crate2/Cr2Ch%02d", i + 1);
191 htitle = TString::Format(
"Crate 2 channel %2d", i + 1);
192 fCr2Ch[i] =
MakeTH1(
'I', hname.Data(), htitle.Data(), nbins, xmin, xmax);
197 if (par) par->SetCalibSpectrum(
fCr1Ch[0]);
215 Long_t loop = (
fEvCount / 1000000) % 5;
265 Int_t *pdata = psubevt->GetDataField();
266 Int_t lwords = psubevt->GetIntLen();
267 Int_t subcrate=psubevt->GetSubcrate();
270 TGo4Log::Info(
"XXXUnpackProc: skip invalid subcrate %d", subcrate);
274 if(lwords >= 8) lwords=8;
276 for(Int_t i = 0; i<lwords; ++i)
296 TGo4Log::Info(
"XXXUnpackProc: WARNING: no output event module for crate %d, channel %d", subcrate, i);
304 fCr1Ch[i]->Fill((Float_t)(*pdata));
310 fHis1->Fill((Float_t)(*pdata));
315 fHis2->Fill((Float_t)(*pdata));
318 if(((*
fConArr2)[0])->Test(*pdata,lastvalue))
fCr1Ch1x2->Fill((Float_t)(*pdata),(Float_t)lastvalue);
319 if(((*
fConArr2)[1])->Test(*pdata,lastvalue))
fCr1Ch1x2->Fill((Float_t)(*pdata),(Float_t)lastvalue);
323 else if ( subcrate == 2)
325 fCr2Ch[i]->Fill((Float_t)(*pdata));
TH1 * MakeTH1(char type, const char *fullname, const char *title, Int_t nbinsx, Double_t xlow, Double_t xup, const char *xtitle=nullptr, const char *ytitle=nullptr)
void ResetCounts() override
void Disable(Bool_t result) override
void AddCondition(TNamed *cond=nullptr)
TGo4Picture * GetPicture(const char *name)
Bool_t BuildEvent(TGo4EventElement *dest) override
static void Info(const char *text,...) GO4_PRINTF_ARGS
Bool_t AddPicture(TGo4Picture *pic, const char *subfolder=nullptr)
TH1 * fCr2Ch[XXX_NUM_CHAN]
TH1 * fCr1Ch[XXX_NUM_CHAN]
void SetValues(Double_t low1, Double_t up1) override
TH2 * MakeTH2(char type, const char *fullname, const char *title, Int_t nbinsx, Double_t xlow, Double_t xup, Int_t nbinsy, Double_t ylow, Double_t yup, const char *xtitle=nullptr, const char *ytitle=nullptr, const char *ztitle=nullptr)
void AddObject(TObject *obj, Option_t *DrawOption=nullptr)
Bool_t Test(Double_t x, Double_t y) override
TGo4Picture * Pic(Int_t posy, Int_t posx)
TGo4MbsSubEvent * NextSubEvent(Bool_t all=kFALSE)
void CreateRawHistograms(int nbins, double xmin, double xmax)
void SetDivision(Int_t ndivy, Int_t ndivx)
void PrintCondition(Bool_t full=kTRUE) override
void SetHistogram(const char *name)
void Print(Option_t *opt="") const override
virtual void Disable(Bool_t result)
TGo4Condition * GetAnalysisCondition(const char *name, const char *cond_cl=nullptr)
void SetLineAtt(Color_t color, Style_t style, Width_t width, Int_t index=UndefIndex)
void SetLinesDivision(Int_t numlines, const Int_t *numbers)
static void Error(const char *text,...) GO4_PRINTF_ARGS
TGo4EventElement * GetInputEvent()
void SetDrawOption(Option_t *option="") override
TGo4Parameter * GetParameter(const char *name, const char *par_class=nullptr)
void SetFillAtt(Color_t color, Style_t style, Int_t index=UndefIndex)
Bool_t AddAnalysisCondition(TGo4Condition *con, const char *subfolder=nullptr)
TGo4WinCond * MakeWinCond(const char *fullname, Double_t xmin, Double_t xmax, const char *HistoName=nullptr)
Bool_t Test(Double_t v1) override
void AddSpecialObject(TObject *obj, Option_t *drawopt=nullptr)
TGo4Picture * LPic(Int_t nline, Int_t ncol)
virtual ~TXXXUnpackProc()
TGo4PolyCond * MakePolyCond(const char *fullname, Int_t npoints, Double_t(*points) [2], const char *HistoName=nullptr)
void SetTitleAttr(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Double_t textsize=0.)
virtual void Invert(Bool_t on)
void PrintCondition(Bool_t points=kTRUE) override
Bool_t RemoveHistogram(const char *name)