KaliVeda
Toolkit for HIC analysis
Loading...
Searching...
No Matches

Detailed Description

GUI for finding/fixing mass identification intervals.

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

Definition at line 34 of file KVItvFinderDialog.h.

#include <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.
 
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);.
 
void Identify (double sigma, double ratio)
 
void LinearizeHisto (int nbins)
 
void MassesDown ()
 
void MassesUp ()
 
void NewInterval ()
 
void NewIntervalSet ()
 
void PrintHelp ()
 
void ProcessIdentification (Int_t zmin=-1, Int_t zmax=-1)
 
void RemoveFit ()
 Remove fit of currently selected interval set from pad.
 
void RemoveInterval ()
 
void SaveGrid ()
 
void SelectionITVChanged ()
 
void SetFitParameters ()
 Open dialog to modify parameters for multigauss mass fit.
 
void SetLogy ()
 
void SetNextIntevalZ (int zz)
 
void TestIdent ()
 fGrid->SetOnlyZId(0);
 
void UnzoomHisto ()
 
void UpdateLists ()
 
void UpdatePIDList ()
 
void ZoomOnCanvas ()
 Display the interval set for a given Z when the user double clicks on it.
 

Private Member Functions

void delete_painter_from_painter_list (KVPIDIntervalPainter *)
 
void remove_interval_from_interval_set (interval_set *itvs, interval *itv, bool remove_fit=true)
 
 RQ_OBJECT ("KVZAFinderDialog")
 

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
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
M_SAVE 
M_NEW 
M_DEL 
M_MASS 
M_LOG 
M_UNZOOM 

Definition at line 76 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 86 of file KVItvFinderDialog.h.

Member Function Documentation

◆ AddInterval()

void KVItvFinderDialog::AddInterval ( double  pid)

Definition at line 798 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 433 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 288 of file KVItvFinderDialog.cpp.

◆ DoClose()

void KVItvFinderDialog::DoClose ( )
inline

Definition at line 113 of file KVItvFinderDialog.h.

◆ DoIdentification()

void KVItvFinderDialog::DoIdentification ( )
inline

Definition at line 110 of file KVItvFinderDialog.h.

◆ DrawInterval()

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

Definition at line 402 of file KVItvFinderDialog.cpp.

◆ DrawIntervals()

void KVItvFinderDialog::DrawIntervals ( )

Definition at line 388 of file KVItvFinderDialog.cpp.

◆ ExportToGrid()

void KVItvFinderDialog::ExportToGrid ( )

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

Definition at line 659 of file KVItvFinderDialog.cpp.

◆ FindPIDIntervals()

void KVItvFinderDialog::FindPIDIntervals ( Int_t  zz)

Definition at line 1364 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 1118 of file KVItvFinderDialog.cpp.

◆ fpeaks()

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

Definition at line 1414 of file KVItvFinderDialog.cpp.

◆ GetNextIntevalZ()

int KVItvFinderDialog::GetNextIntevalZ ( )
inline

Definition at line 91 of file KVItvFinderDialog.h.

◆ HandleKey()

void KVItvFinderDialog::HandleKey ( )

Definition at line 1329 of file KVItvFinderDialog.cpp.

◆ Identify() [1/2]

void KVItvFinderDialog::Identify ( )

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

Definition at line 567 of file KVItvFinderDialog.cpp.

◆ Identify() [2/2]

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

Definition at line 577 of file KVItvFinderDialog.cpp.

◆ LinearizeHisto()

void KVItvFinderDialog::LinearizeHisto ( int  nbins)

Definition at line 469 of file KVItvFinderDialog.cpp.

◆ MassesDown()

void KVItvFinderDialog::MassesDown ( )

Definition at line 1001 of file KVItvFinderDialog.cpp.

◆ MassesUp()

void KVItvFinderDialog::MassesUp ( )

Definition at line 959 of file KVItvFinderDialog.cpp.

◆ NewInterval()

void KVItvFinderDialog::NewInterval ( )

Definition at line 693 of file KVItvFinderDialog.cpp.

◆ NewIntervalSet()

void KVItvFinderDialog::NewIntervalSet ( )

Definition at line 898 of file KVItvFinderDialog.cpp.

◆ PrintHelp()

void KVItvFinderDialog::PrintHelp ( )

Definition at line 1353 of file KVItvFinderDialog.cpp.

◆ ProcessIdentification()

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

Definition at line 1430 of file KVItvFinderDialog.cpp.

◆ remove_interval_from_interval_set()

void KVItvFinderDialog::remove_interval_from_interval_set ( interval_set itvs,
interval itv,
bool  remove_fit = true 
)
private

Definition at line 911 of file KVItvFinderDialog.cpp.

◆ RemoveFit()

void KVItvFinderDialog::RemoveFit ( )

Remove fit of currently selected interval set from pad.

Definition at line 1303 of file KVItvFinderDialog.cpp.

◆ RemoveInterval()

void KVItvFinderDialog::RemoveInterval ( )

Definition at line 926 of file KVItvFinderDialog.cpp.

◆ RQ_OBJECT()

KVItvFinderDialog::RQ_OBJECT ( "KVZAFinderDialog"  )
private

◆ SaveGrid()

void KVItvFinderDialog::SaveGrid ( )

Definition at line 605 of file KVItvFinderDialog.cpp.

◆ SelectionITVChanged()

void KVItvFinderDialog::SelectionITVChanged ( )

Definition at line 307 of file KVItvFinderDialog.cpp.

◆ SetFitParameters()

void KVItvFinderDialog::SetFitParameters ( )

Open dialog to modify parameters for multigauss mass fit.

Definition at line 1287 of file KVItvFinderDialog.cpp.

◆ SetLogy()

void KVItvFinderDialog::SetLogy ( )

Definition at line 1085 of file KVItvFinderDialog.cpp.

◆ SetNextIntevalZ()

void KVItvFinderDialog::SetNextIntevalZ ( int  zz)
inline

Definition at line 95 of file KVItvFinderDialog.h.

◆ TestIdent()

void KVItvFinderDialog::TestIdent ( )

fGrid->SetOnlyZId(0);

Definition at line 1063 of file KVItvFinderDialog.cpp.

◆ UnzoomHisto()

void KVItvFinderDialog::UnzoomHisto ( )

Definition at line 1096 of file KVItvFinderDialog.cpp.

◆ UpdateLists()

void KVItvFinderDialog::UpdateLists ( )

Definition at line 1042 of file KVItvFinderDialog.cpp.

◆ UpdatePIDList()

void KVItvFinderDialog::UpdatePIDList ( )

Definition at line 327 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 346 of file KVItvFinderDialog.cpp.

Member Data Documentation

◆ current_interval_set

interval_set* KVItvFinderDialog::current_interval_set = nullptr
private

Definition at line 70 of file KVItvFinderDialog.h.

◆ fCanvas

TCanvas* KVItvFinderDialog::fCanvas
private

Definition at line 38 of file KVItvFinderDialog.h.

◆ fCustoms

KVList* KVItvFinderDialog::fCustoms
private

Definition at line 47 of file KVItvFinderDialog.h.

◆ fFunc

TList KVItvFinderDialog::fFunc
private

Definition at line 60 of file KVItvFinderDialog.h.

◆ fGrid

KVIDZAFromZGrid* KVItvFinderDialog::fGrid
private

Definition at line 51 of file KVItvFinderDialog.h.

◆ fHisto

TH2* KVItvFinderDialog::fHisto
private

Definition at line 52 of file KVItvFinderDialog.h.

◆ fIntervalListView

KVListView* KVItvFinderDialog::fIntervalListView
private

Definition at line 49 of file KVItvFinderDialog.h.

◆ fIntervalSetListView

KVListView* KVItvFinderDialog::fIntervalSetListView
private

Definition at line 48 of file KVItvFinderDialog.h.

◆ fItvPaint

KVList KVItvFinderDialog::fItvPaint
private

Definition at line 55 of file KVItvFinderDialog.h.

◆ fLinearHisto

TH1* KVItvFinderDialog::fLinearHisto
private

Definition at line 53 of file KVItvFinderDialog.h.

◆ fMain

TGTransientFrame* KVItvFinderDialog::fMain
private

Definition at line 37 of file KVItvFinderDialog.h.

◆ fNbButtons

Int_t KVItvFinderDialog::fNbButtons
private

Definition at line 44 of file KVItvFinderDialog.h.

◆ fNextIntervalZ

Int_t KVItvFinderDialog::fNextIntervalZ
private

Definition at line 63 of file KVItvFinderDialog.h.

◆ fNpeaks

Int_t KVItvFinderDialog::fNpeaks[30]
private

Definition at line 61 of file KVItvFinderDialog.h.

◆ fNPoints

Int_t KVItvFinderDialog::fNPoints
private

Definition at line 59 of file KVItvFinderDialog.h.

◆ fPad

TVirtualPad* KVItvFinderDialog::fPad
private

Definition at line 39 of file KVItvFinderDialog.h.

◆ fPoints

TGraph* KVItvFinderDialog::fPoints
private

Definition at line 58 of file KVItvFinderDialog.h.

◆ fRat

Double_t KVItvFinderDialog::fRat
private

Definition at line 65 of file KVItvFinderDialog.h.

◆ fSig

Double_t KVItvFinderDialog::fSig
private

Definition at line 65 of file KVItvFinderDialog.h.

◆ fSpectrum

TSpectrum KVItvFinderDialog::fSpectrum
private

Definition at line 57 of file KVItvFinderDialog.h.

◆ fTBbuttons

TGButton* KVItvFinderDialog::fTBbuttons[50]
private

Definition at line 43 of file KVItvFinderDialog.h.

◆ fToolBar

TGToolBar* KVItvFinderDialog::fToolBar
private

Definition at line 41 of file KVItvFinderDialog.h.

◆ fToolBar2

TGToolBar* KVItvFinderDialog::fToolBar2
private

Definition at line 42 of file KVItvFinderDialog.h.

◆ last_drawn_interval

KVPIDIntervalPainter* KVItvFinderDialog::last_drawn_interval
private

Definition at line 67 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 25 of file KVItvFinderDialog.h.