KaliVeda  1.13/01
Heavy-Ion Analysis Toolkit
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
KVItvFinderDialog Class Reference

GUI for finding/fixing mass identification intervals.

Created by KVClassFactory on Mon Jan 23 10:03:13 2017 Author: Diego Gruyer

Definition at line 43 of file KVItvFinderDialog.h.

Public Types

enum  {
  M_SAVE , M_NEW , M_DEL , M_MASS ,
  M_LOG , M_UNZOOM
}
 

Public Member Functions

 KVItvFinderDialog (KVIDZAFromZGrid *gg, TH2 *hh)
 
virtual ~KVItvFinderDialog ()
 
void AddInterval (double pid)
 
void ClearInterval (interval_set *itvs)
 
void DisplayPIDint ()
 
void DoClose ()
 
void DoIdentification ()
 
void DrawInterval (interval_set *itvs, bool label=0)
 
void DrawIntervals ()
 
void ExportToGrid ()
 Write all PID intervals in grid parameters "PIDRANGE", "PIDRANGE%d", etc. More...
 
void FindPIDIntervals (Int_t zz)
 
void FitIsotopes ()
 
Double_t fpeaks (Double_t *x, Double_t *par)
 
int GetNextIntevalZ ()
 
void HandleKey ()
 
void Identify ()
 KVBase::OpenContextMenu("Identify(double,double)",this);. More...
 
void Identify (double sigma, double ratio)
 
void LinearizeHisto (int nbins)
 
void MassesDown ()
 
void MassesUp ()
 
void NewInterval ()
 
void NewIntervalSet ()
 
void ProcessIdentification (Int_t zmin=-1, Int_t zmax=-1)
 
void RemoveFit ()
 Remove fit of currently selected interval set from pad. More...
 
void RemoveInterval ()
 
void SaveGrid ()
 
void SelectionITVChanged ()
 
void SetFitParameters ()
 Open dialog to modify parameters for multigauss mass fit. More...
 
void SetLogy ()
 
void SetNextIntevalZ (int zz)
 
void TestIdent ()
 fGrid->SetOnlyZId(0); More...
 
void UnzoomHisto ()
 
void UpdateLists ()
 
void UpdatePIDList ()
 
void ZoomOnCanvas ()
 Display the interval set for a given Z when the user double clicks on it. More...
 

Private Member Functions

void delete_painter_from_painter_list (KVPIDIntervalPainter *)
 

Private Attributes

interval_setcurrent_interval_set = nullptr
 
TCanvasfCanvas
 
KVListfCustoms
 
TList fFunc
 
KVIDZAFromZGridfGrid
 
TH2fHisto
 
KVListViewfIntervalListView
 
KVListViewfIntervalSetListView
 
KVList fItvPaint
 
TH1fLinearHisto
 
TGTransientFramefMain
 
Int_t fNbButtons
 
Int_t fNextIntervalZ
 
Int_t fNpeaks [30]
 
Int_t fNPoints
 
TVirtualPadfPad
 
TGraphfPoints
 
Double_t fRat
 
Double_t fSig
 
TSpectrum fSpectrum
 
TGButtonfTBbuttons [50]
 
TGToolBarfToolBar
 
TGToolBarfToolBar2
 
KVPIDIntervalPainterlast_drawn_interval
 

Static Private Attributes

static KVNameValueList mass_fit_parameters
 for user control of multi-gaussian fit More...
 

#include <KVItvFinderDialog.h>

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
M_SAVE 
M_NEW 
M_DEL 
M_MASS 
M_LOG 
M_UNZOOM 

Definition at line 84 of file KVItvFinderDialog.h.

Constructor & Destructor Documentation

◆ KVItvFinderDialog()

KVItvFinderDialog::KVItvFinderDialog ( KVIDZAFromZGrid gg,
TH2 hh 
)

Definition at line 57 of file KVItvFinderDialog.cpp.

◆ ~KVItvFinderDialog()

virtual KVItvFinderDialog::~KVItvFinderDialog ( )
inlinevirtual

Definition at line 94 of file KVItvFinderDialog.h.

Member Function Documentation

◆ AddInterval()

void KVItvFinderDialog::AddInterval ( double  pid)

Definition at line 800 of file KVItvFinderDialog.cpp.

◆ ClearInterval()

void KVItvFinderDialog::ClearInterval ( interval_set itvs)

empty an interval set, effectively removing it from the interval sets which will be saved with the grid.

we also remove any previous fits from the grid's parameters

Definition at line 435 of file KVItvFinderDialog.cpp.

◆ delete_painter_from_painter_list()

void KVItvFinderDialog::delete_painter_from_painter_list ( KVPIDIntervalPainter p)
private

remove painter from list and modify the 'left_painter' and 'right_painter' references in any adjacent painters/intervals, then delete painter

Definition at line 40 of file KVItvFinderDialog.cpp.

◆ DisplayPIDint()

void KVItvFinderDialog::DisplayPIDint ( )

Definition at line 290 of file KVItvFinderDialog.cpp.

◆ DoClose()

void KVItvFinderDialog::DoClose ( )
inline

Definition at line 121 of file KVItvFinderDialog.h.

◆ DoIdentification()

void KVItvFinderDialog::DoIdentification ( )
inline

Definition at line 118 of file KVItvFinderDialog.h.

◆ DrawInterval()

void KVItvFinderDialog::DrawInterval ( interval_set itvs,
bool  label = 0 
)

Definition at line 404 of file KVItvFinderDialog.cpp.

◆ DrawIntervals()

void KVItvFinderDialog::DrawIntervals ( )

Definition at line 390 of file KVItvFinderDialog.cpp.

◆ ExportToGrid()

void KVItvFinderDialog::ExportToGrid ( )

Write all PID intervals in grid parameters "PIDRANGE", "PIDRANGE%d", etc.

Definition at line 661 of file KVItvFinderDialog.cpp.

◆ FindPIDIntervals()

void KVItvFinderDialog::FindPIDIntervals ( Int_t  zz)

Definition at line 1356 of file KVItvFinderDialog.cpp.

◆ FitIsotopes()

void KVItvFinderDialog::FitIsotopes ( )

fit the PID spectrum for the currently selected interval set (Z).

for an interval with N isotopes, we use N gaussians plus an exponential (decreasing) background. each gaussian has the same width. the centroids of the gaussians are first fixed to the positions of the PID markers, the intensity and width of the peaks (plus the background) are fitted. then another fit is performed without constraining the centroids.

finally the PID markers (PID of each interval) are modified according to the fitted centroid positions.

Definition at line 1120 of file KVItvFinderDialog.cpp.

◆ fpeaks()

Double_t KVItvFinderDialog::fpeaks ( Double_t x,
Double_t par 
)

Definition at line 1406 of file KVItvFinderDialog.cpp.

◆ GetNextIntevalZ()

int KVItvFinderDialog::GetNextIntevalZ ( )
inline

Definition at line 99 of file KVItvFinderDialog.h.

◆ HandleKey()

void KVItvFinderDialog::HandleKey ( )

Definition at line 1331 of file KVItvFinderDialog.cpp.

◆ Identify() [1/2]

void KVItvFinderDialog::Identify ( )

KVBase::OpenContextMenu("Identify(double,double)",this);.

Definition at line 569 of file KVItvFinderDialog.cpp.

◆ Identify() [2/2]

void KVItvFinderDialog::Identify ( double  sigma,
double  ratio 
)

Definition at line 579 of file KVItvFinderDialog.cpp.

◆ LinearizeHisto()

void KVItvFinderDialog::LinearizeHisto ( int  nbins)

Definition at line 471 of file KVItvFinderDialog.cpp.

◆ MassesDown()

void KVItvFinderDialog::MassesDown ( )

Definition at line 1003 of file KVItvFinderDialog.cpp.

◆ MassesUp()

void KVItvFinderDialog::MassesUp ( )

Definition at line 961 of file KVItvFinderDialog.cpp.

◆ NewInterval()

void KVItvFinderDialog::NewInterval ( )

Definition at line 695 of file KVItvFinderDialog.cpp.

◆ NewIntervalSet()

void KVItvFinderDialog::NewIntervalSet ( )

Definition at line 900 of file KVItvFinderDialog.cpp.

◆ ProcessIdentification()

void KVItvFinderDialog::ProcessIdentification ( Int_t  zmin = -1,
Int_t  zmax = -1 
)

Definition at line 1422 of file KVItvFinderDialog.cpp.

◆ RemoveFit()

void KVItvFinderDialog::RemoveFit ( )

Remove fit of currently selected interval set from pad.

Definition at line 1305 of file KVItvFinderDialog.cpp.

◆ RemoveInterval()

void KVItvFinderDialog::RemoveInterval ( )

Definition at line 928 of file KVItvFinderDialog.cpp.

◆ SaveGrid()

void KVItvFinderDialog::SaveGrid ( )

Definition at line 607 of file KVItvFinderDialog.cpp.

◆ SelectionITVChanged()

void KVItvFinderDialog::SelectionITVChanged ( )

Definition at line 309 of file KVItvFinderDialog.cpp.

◆ SetFitParameters()

void KVItvFinderDialog::SetFitParameters ( )

Open dialog to modify parameters for multigauss mass fit.

Definition at line 1289 of file KVItvFinderDialog.cpp.

◆ SetLogy()

void KVItvFinderDialog::SetLogy ( )

Definition at line 1087 of file KVItvFinderDialog.cpp.

◆ SetNextIntevalZ()

void KVItvFinderDialog::SetNextIntevalZ ( int  zz)
inline

Definition at line 103 of file KVItvFinderDialog.h.

◆ TestIdent()

void KVItvFinderDialog::TestIdent ( )

fGrid->SetOnlyZId(0);

Definition at line 1065 of file KVItvFinderDialog.cpp.

◆ UnzoomHisto()

void KVItvFinderDialog::UnzoomHisto ( )

Definition at line 1098 of file KVItvFinderDialog.cpp.

◆ UpdateLists()

void KVItvFinderDialog::UpdateLists ( )

Definition at line 1044 of file KVItvFinderDialog.cpp.

◆ UpdatePIDList()

void KVItvFinderDialog::UpdatePIDList ( )

Definition at line 329 of file KVItvFinderDialog.cpp.

◆ ZoomOnCanvas()

void KVItvFinderDialog::ZoomOnCanvas ( )

Display the interval set for a given Z when the user double clicks on it.

Definition at line 348 of file KVItvFinderDialog.cpp.

Member Data Documentation

◆ current_interval_set

interval_set* KVItvFinderDialog::current_interval_set = nullptr
private

Definition at line 79 of file KVItvFinderDialog.h.

◆ fCanvas

TCanvas* KVItvFinderDialog::fCanvas
private

Definition at line 47 of file KVItvFinderDialog.h.

◆ fCustoms

KVList* KVItvFinderDialog::fCustoms
private

Definition at line 56 of file KVItvFinderDialog.h.

◆ fFunc

TList KVItvFinderDialog::fFunc
private

Definition at line 69 of file KVItvFinderDialog.h.

◆ fGrid

KVIDZAFromZGrid* KVItvFinderDialog::fGrid
private

Definition at line 60 of file KVItvFinderDialog.h.

◆ fHisto

TH2* KVItvFinderDialog::fHisto
private

Definition at line 61 of file KVItvFinderDialog.h.

◆ fIntervalListView

KVListView* KVItvFinderDialog::fIntervalListView
private

Definition at line 58 of file KVItvFinderDialog.h.

◆ fIntervalSetListView

KVListView* KVItvFinderDialog::fIntervalSetListView
private

Definition at line 57 of file KVItvFinderDialog.h.

◆ fItvPaint

KVList KVItvFinderDialog::fItvPaint
private

Definition at line 64 of file KVItvFinderDialog.h.

◆ fLinearHisto

TH1* KVItvFinderDialog::fLinearHisto
private

Definition at line 62 of file KVItvFinderDialog.h.

◆ fMain

TGTransientFrame* KVItvFinderDialog::fMain
private

Definition at line 46 of file KVItvFinderDialog.h.

◆ fNbButtons

Int_t KVItvFinderDialog::fNbButtons
private

Definition at line 53 of file KVItvFinderDialog.h.

◆ fNextIntervalZ

Int_t KVItvFinderDialog::fNextIntervalZ
private

Definition at line 72 of file KVItvFinderDialog.h.

◆ fNpeaks

Int_t KVItvFinderDialog::fNpeaks[30]
private

Definition at line 70 of file KVItvFinderDialog.h.

◆ fNPoints

Int_t KVItvFinderDialog::fNPoints
private

Definition at line 68 of file KVItvFinderDialog.h.

◆ fPad

TVirtualPad* KVItvFinderDialog::fPad
private

Definition at line 48 of file KVItvFinderDialog.h.

◆ fPoints

TGraph* KVItvFinderDialog::fPoints
private

Definition at line 67 of file KVItvFinderDialog.h.

◆ fRat

Double_t KVItvFinderDialog::fRat
private

Definition at line 74 of file KVItvFinderDialog.h.

◆ fSig

Double_t KVItvFinderDialog::fSig
private

Definition at line 74 of file KVItvFinderDialog.h.

◆ fSpectrum

TSpectrum KVItvFinderDialog::fSpectrum
private

Definition at line 66 of file KVItvFinderDialog.h.

◆ fTBbuttons

TGButton* KVItvFinderDialog::fTBbuttons[50]
private

Definition at line 52 of file KVItvFinderDialog.h.

◆ fToolBar

TGToolBar* KVItvFinderDialog::fToolBar
private

Definition at line 50 of file KVItvFinderDialog.h.

◆ fToolBar2

TGToolBar* KVItvFinderDialog::fToolBar2
private

Definition at line 51 of file KVItvFinderDialog.h.

◆ last_drawn_interval

KVPIDIntervalPainter* KVItvFinderDialog::last_drawn_interval
private

Definition at line 76 of file KVItvFinderDialog.h.

◆ mass_fit_parameters

KVNameValueList KVItvFinderDialog::mass_fit_parameters
staticprivate
Initial value:
{
{"Limit range of fit", false},
{"PID min for fit", 0.},
{"PID max for fit", 10.},
{"Minimum probability [%]", 50.},
{"Minimum #sigma", 1.e-2},
{"Maximum #sigma", 5.e-2}
}

for user control of multi-gaussian fit

Definition at line 81 of file KVItvFinderDialog.h.


The documentation for this class was generated from the following files: