21 #ifndef _EventPSAWatchers
22 #define _EventPSAWatchers
63 UInt_t GetNbFramePSA();
69 EventPSAWatcher(
const char *name,
const char *title, TDirectory *sp_dir = 0x0, TDirectory *tag_dir = 0x0) :
70 WatcherWithTag(name,title,sp_dir,tag_dir),
105 static const UShort_t gNbCrys = 180u;
137 virtual void DoCanvas(TCanvas *c, Option_t *);
144 HitsSpectra(
const char *name,
const char *title, TDirectory *sp_dir = 0x0, TDirectory *tag_dir = 0x0);
148 virtual void Exec(Option_t *option=
"");
345 static const UShort_t gNbCrys = 180u;
371 EBWatcher(
const char *name,
const char *title, TDirectory *sp_dir = 0x0, TDirectory *tag_dir = 0x0);
375 virtual void Exec(Option_t *option=
"");
377 void ShowCrystalSpectra();
380 void ShowSuperimposedCores();
382 void ShowCoreVsSumSpectra(
bool OnSamePad =
false);
384 void ShowGammaGamma();
386 void ShowGammaTime();
402 static const UShort_t gNbCrystTot = 180u;
403 static const UShort_t gNbSeg = 36u;
407 TString CrystalNames[gNbCrystTot];
409 ULong64_t fFirstTS[gNbCrystTot];
410 ULong64_t fLastTS[gNbCrystTot];
413 Double_t fTSMax[gNbCrystTot];
415 TString fCrystalList;
416 TString fCrystalListForSegments;
429 TObjArray *f_TS_Dist[gNbCrystTot];
430 TObjArray *f_CoreCheck[gNbCrystTot];
431 TObjArray *f_SegCheck[gNbCrystTot][gNbSeg];
432 TH1F *fSpectra[gNbCrystTot];
433 TLine *fCoreLines[gNbCrystTot];
434 TH1F *fLastFittedHist[gNbCrystTot];
435 TF1 *fLastFitFunction[gNbCrystTot];
438 Float_t fLastFitResultCore[gNbCrystTot][4];
439 Float_t fLastFitResultSeg[gNbCrystTot][gNbSeg][4];
441 TF1 *fGausFuncCry[gNbCrystTot];
442 TF1 *fGausFuncSeg[gNbCrystTot][gNbSeg];
445 TimeCheckBuilder(
const char *name,
const char *title, TDirectory *sp_dir = 0x0, TDirectory *tag_dir = 0x0);
449 virtual void Exec(Option_t *option=
"");
451 void ShowCrystalSpectra();
452 void ShowCrystalLastFits();
453 void ShowSegments(
const char *CrystalName);
459 TObjArray *BuildArray(
const char * BaseName,Int_t NBins, Double_t Min, Double_t Max, Bool_t MakeGraph);
460 void ReProcessHists(Int_t cry);
461 Int_t GetNFill(Int_t cry);
462 void AnalyseGraphs(Int_t cry);
464 TString GetCrystalName(Int_t cry);
465 Int_t GetCrystalId(TString Name);
virtual void SetLoupe(bool loupeon=true)
Interface for any watcher that is a VertexBuilder.
TH1 * fCoreCommon
Sum of all core spectra (without Doppler correction)
TH1F * fDistri
Crystal fold.
AgataGeometryTransformer * fTrans
TObjArray fSpectra
Core energy for any crystal.
AgataGeometryTransformer * fTrans
TObjArray fSpectraDoppler
virtual ~EventPSAWatcher()
Frame * fPSAFrame
current PSA frame to help decoding one by one
TH1F * fDistri
Crystal fold.
EventPSAWatcher(const char *name, const char *title, TDirectory *sp_dir=0x0, TDirectory *tag_dir=0x0)
TObjArray fSpectra
Core energy for any crystal.
header file for PSAFrame.cpp
TH1 * fCoreCommon
Sum of all core spectra (without Doppler correction)
It is a hit associated to a list of Hits.
WatcherWithTag()
list of tagged histograms
! Show rates (counts) per Crystal *!
*********************************** HitsSpectra Class **************************************/// ...
Base class for a trigger on a data flow.
TH1 * fCoreCommonDoppler
Sum of all core spectra (with Doppler correction)
virtual ~TimeCheckBuilder()
SharedFP * fFrame
main frame i.e. event:data:psa
*********************************** EventPSAWatcher Class **************************************/// ...
virtual void SetLoupe(bool loupeon=true)
virtual void SetLoupe(bool loupeon=true)