#include "TVirtualPad.h"
#include "TColor.h"
#include "TGLabel.h"
#include "TEveGValuators.h"
#include "TGDoubleSlider.h"
#include <TGComboBox.h>
#include "AliEveCascadeListEditor.h"
#include "AliEveCascade.h"
ClassImp(AliEveCascadeListEditor)
AliEveCascadeListEditor::AliEveCascadeListEditor(const TGWindow *p, Int_t width, Int_t height,
UInt_t options, Pixel_t back) :
TGedFrame(p, width, height, options | kVerticalFrame, back),
fM(0),
fCascadeSpecies(0),
fMinMaxRCut(0),
fMinMaxDaughterDCA(0),
fMinMaxPt(0),
fMinMaxInvariantMass(0)
{
MakeTitle("AliEveCascadeList");
fMinMaxRCut = new TEveGDoubleValuator(this,"Radius:", 130, 0);
fMinMaxRCut->SetNELength(5);
fMinMaxRCut->SetLabelWidth(74);
fMinMaxRCut->Build();
fMinMaxRCut->GetSlider()->SetWidth(200);
fMinMaxRCut->SetLimits(0, 100, TGNumberFormat::kNESRealOne);
fMinMaxRCut->Connect("ValueSet()", "AliEveCascadeListEditor", this, "DoMinMaxRCut()");
AddFrame(fMinMaxRCut, new TGLayoutHints(kLHintsTop, 1, 1, 1, 1));
fMinMaxDaughterDCA = new TEveGDoubleValuator(this,"DCA:", 130, 0);
fMinMaxDaughterDCA->SetNELength(5);
fMinMaxDaughterDCA->SetLabelWidth(74);
fMinMaxDaughterDCA->Build();
fMinMaxDaughterDCA->GetSlider()->SetWidth(200);
fMinMaxDaughterDCA->SetLimits(0, 1, TGNumberFormat::kNESRealTwo);
fMinMaxDaughterDCA->Connect("ValueSet()", "AliEveCascadeListEditor", this, "DoMinMaxDaughterDCA()");
AddFrame(fMinMaxDaughterDCA, new TGLayoutHints(kLHintsTop, 1, 1, 1, 1));
fMinMaxPt = new TEveGDoubleValuator(this,"pT:", 130, 0);
fMinMaxPt->SetNELength(5);
fMinMaxPt->SetLabelWidth(74);
fMinMaxPt->Build();
fMinMaxPt->GetSlider()->SetWidth(200);
fMinMaxPt->SetLimits(0, 20, TGNumberFormat::kNESRealOne);
fMinMaxPt->Connect("ValueSet()", "AliEveCascadeListEditor", this, "DoMinMaxPt()");
AddFrame(fMinMaxPt, new TGLayoutHints(kLHintsTop, 1, 1, 1, 1));
TGHorizontalFrame* fCascadeFrame = new TGHorizontalFrame(this);
TGLabel* labPos = new TGLabel(fCascadeFrame, "Cascade:");
fCascadeFrame->AddFrame(labPos, new TGLayoutHints(kLHintsLeft|kLHintsBottom, 1, 1, 1, 1));
fCascadeSpecies = new TGComboBox(fCascadeFrame);
fCascadeSpecies->AddEntry("Xi", kXiMinus);
fCascadeSpecies->AddEntry("Omega", kOmegaMinus);
TGListBox* lbPos = fCascadeSpecies->GetListBox();
lbPos->Resize(lbPos->GetWidth(), 2*18);
fCascadeSpecies->Resize(45, 20);
fCascadeSpecies->Connect("Selected(Int_t)", "AliEveCascadeListEditor", this, "DoSelectInvMassHyp(Int_t)");
fCascadeFrame->AddFrame(fCascadeSpecies, new TGLayoutHints(kLHintsTop, 3, 1, 1, 1));
AddFrame(fCascadeFrame);
fMinMaxInvariantMass = new TEveGDoubleValuator(this,"Inv. Mass:", 130, 0);
fMinMaxInvariantMass->SetNELength(5);
fMinMaxInvariantMass->SetLabelWidth(74);
fMinMaxInvariantMass->Build();
fMinMaxInvariantMass->GetSlider()->SetWidth(200);
fMinMaxInvariantMass->SetLimits(1, 6, TGNumberFormat::kNESRealThree);
fMinMaxInvariantMass->Connect("ValueSet()", "AliEveCascadeListEditor", this, "DoMinMaxInvariantMass()");
AddFrame(fMinMaxInvariantMass, new TGLayoutHints(kLHintsBottom, 1, 1, 1, 1));
}
void AliEveCascadeListEditor::SetModel(TObject* obj)
{
fM = static_cast<AliEveCascadeList*>(obj);
fMinMaxRCut->SetValues(fM->fMinRCut, fM->fMaxRCut);
fMinMaxDaughterDCA->SetValues(fM->fMinDaughterDCA, fM->fMaxDaughterDCA);
fMinMaxPt->SetValues(fM->fMinPt, fM->fMaxPt);
fMinMaxInvariantMass->SetValues(fM->fMinInvariantMass,fM->fMaxInvariantMass);
}
void AliEveCascadeListEditor::DoMinMaxRCut()
{
fM->FilterByRadius(fMinMaxRCut->GetMin(), fMinMaxRCut->GetMax());
}
void AliEveCascadeListEditor::DoMinMaxDaughterDCA()
{
fM->FilterByDaughterDCA(fMinMaxDaughterDCA->GetMin(), fMinMaxDaughterDCA->GetMax());
}
void AliEveCascadeListEditor::DoMinMaxPt()
{
fM->FilterByPt(fMinMaxPt->GetMin(), fMinMaxPt->GetMax());
}
void AliEveCascadeListEditor::DoSelectInvMassHyp(Int_t rInvMassHyp)
{
fM->SetInvMassHyp(rInvMassHyp);
Update();
}
void AliEveCascadeListEditor::DoMinMaxInvariantMass()
{
Int_t rInvMassHyp = fM->GetInvMassHyp();
if(rInvMassHyp)
fM->FilterByInvariantMass(fMinMaxInvariantMass->GetMin(), fMinMaxInvariantMass->GetMax(), rInvMassHyp);
else
fM->FilterByInvariantMass(fMinMaxInvariantMass->GetMin(), fMinMaxInvariantMass->GetMax(), kXiMinus);
}
AliEveCascadeListEditor.cxx:1 AliEveCascadeListEditor.cxx:2 AliEveCascadeListEditor.cxx:3 AliEveCascadeListEditor.cxx:4 AliEveCascadeListEditor.cxx:5 AliEveCascadeListEditor.cxx:6 AliEveCascadeListEditor.cxx:7 AliEveCascadeListEditor.cxx:8 AliEveCascadeListEditor.cxx:9 AliEveCascadeListEditor.cxx:10 AliEveCascadeListEditor.cxx:11 AliEveCascadeListEditor.cxx:12 AliEveCascadeListEditor.cxx:13 AliEveCascadeListEditor.cxx:14 AliEveCascadeListEditor.cxx:15 AliEveCascadeListEditor.cxx:16 AliEveCascadeListEditor.cxx:17 AliEveCascadeListEditor.cxx:18 AliEveCascadeListEditor.cxx:19 AliEveCascadeListEditor.cxx:20 AliEveCascadeListEditor.cxx:21 AliEveCascadeListEditor.cxx:22 AliEveCascadeListEditor.cxx:23 AliEveCascadeListEditor.cxx:24 AliEveCascadeListEditor.cxx:25 AliEveCascadeListEditor.cxx:26 AliEveCascadeListEditor.cxx:27 AliEveCascadeListEditor.cxx:28 AliEveCascadeListEditor.cxx:29 AliEveCascadeListEditor.cxx:30 AliEveCascadeListEditor.cxx:31 AliEveCascadeListEditor.cxx:32 AliEveCascadeListEditor.cxx:33 AliEveCascadeListEditor.cxx:34 AliEveCascadeListEditor.cxx:35 AliEveCascadeListEditor.cxx:36 AliEveCascadeListEditor.cxx:37 AliEveCascadeListEditor.cxx:38 AliEveCascadeListEditor.cxx:39 AliEveCascadeListEditor.cxx:40 AliEveCascadeListEditor.cxx:41 AliEveCascadeListEditor.cxx:42 AliEveCascadeListEditor.cxx:43 AliEveCascadeListEditor.cxx:44 AliEveCascadeListEditor.cxx:45 AliEveCascadeListEditor.cxx:46 AliEveCascadeListEditor.cxx:47 AliEveCascadeListEditor.cxx:48 AliEveCascadeListEditor.cxx:49 AliEveCascadeListEditor.cxx:50 AliEveCascadeListEditor.cxx:51 AliEveCascadeListEditor.cxx:52 AliEveCascadeListEditor.cxx:53 AliEveCascadeListEditor.cxx:54 AliEveCascadeListEditor.cxx:55 AliEveCascadeListEditor.cxx:56 AliEveCascadeListEditor.cxx:57 AliEveCascadeListEditor.cxx:58 AliEveCascadeListEditor.cxx:59 AliEveCascadeListEditor.cxx:60 AliEveCascadeListEditor.cxx:61 AliEveCascadeListEditor.cxx:62 AliEveCascadeListEditor.cxx:63 AliEveCascadeListEditor.cxx:64 AliEveCascadeListEditor.cxx:65 AliEveCascadeListEditor.cxx:66 AliEveCascadeListEditor.cxx:67 AliEveCascadeListEditor.cxx:68 AliEveCascadeListEditor.cxx:69 AliEveCascadeListEditor.cxx:70 AliEveCascadeListEditor.cxx:71 AliEveCascadeListEditor.cxx:72 AliEveCascadeListEditor.cxx:73 AliEveCascadeListEditor.cxx:74 AliEveCascadeListEditor.cxx:75 AliEveCascadeListEditor.cxx:76 AliEveCascadeListEditor.cxx:77 AliEveCascadeListEditor.cxx:78 AliEveCascadeListEditor.cxx:79 AliEveCascadeListEditor.cxx:80 AliEveCascadeListEditor.cxx:81 AliEveCascadeListEditor.cxx:82 AliEveCascadeListEditor.cxx:83 AliEveCascadeListEditor.cxx:84 AliEveCascadeListEditor.cxx:85 AliEveCascadeListEditor.cxx:86 AliEveCascadeListEditor.cxx:87 AliEveCascadeListEditor.cxx:88 AliEveCascadeListEditor.cxx:89 AliEveCascadeListEditor.cxx:90 AliEveCascadeListEditor.cxx:91 AliEveCascadeListEditor.cxx:92 AliEveCascadeListEditor.cxx:93 AliEveCascadeListEditor.cxx:94 AliEveCascadeListEditor.cxx:95 AliEveCascadeListEditor.cxx:96 AliEveCascadeListEditor.cxx:97 AliEveCascadeListEditor.cxx:98 AliEveCascadeListEditor.cxx:99 AliEveCascadeListEditor.cxx:100 AliEveCascadeListEditor.cxx:101 AliEveCascadeListEditor.cxx:102 AliEveCascadeListEditor.cxx:103 AliEveCascadeListEditor.cxx:104 AliEveCascadeListEditor.cxx:105 AliEveCascadeListEditor.cxx:106 AliEveCascadeListEditor.cxx:107 AliEveCascadeListEditor.cxx:108 AliEveCascadeListEditor.cxx:109 AliEveCascadeListEditor.cxx:110 AliEveCascadeListEditor.cxx:111 AliEveCascadeListEditor.cxx:112 AliEveCascadeListEditor.cxx:113 AliEveCascadeListEditor.cxx:114 AliEveCascadeListEditor.cxx:115 AliEveCascadeListEditor.cxx:116 AliEveCascadeListEditor.cxx:117 AliEveCascadeListEditor.cxx:118 AliEveCascadeListEditor.cxx:119 AliEveCascadeListEditor.cxx:120 AliEveCascadeListEditor.cxx:121 AliEveCascadeListEditor.cxx:122 AliEveCascadeListEditor.cxx:123 AliEveCascadeListEditor.cxx:124 AliEveCascadeListEditor.cxx:125 AliEveCascadeListEditor.cxx:126 AliEveCascadeListEditor.cxx:127 AliEveCascadeListEditor.cxx:128 AliEveCascadeListEditor.cxx:129 AliEveCascadeListEditor.cxx:130 AliEveCascadeListEditor.cxx:131 AliEveCascadeListEditor.cxx:132 AliEveCascadeListEditor.cxx:133 AliEveCascadeListEditor.cxx:134 AliEveCascadeListEditor.cxx:135 AliEveCascadeListEditor.cxx:136 AliEveCascadeListEditor.cxx:137 AliEveCascadeListEditor.cxx:138 AliEveCascadeListEditor.cxx:139 AliEveCascadeListEditor.cxx:140 AliEveCascadeListEditor.cxx:141 AliEveCascadeListEditor.cxx:142 AliEveCascadeListEditor.cxx:143 AliEveCascadeListEditor.cxx:144 AliEveCascadeListEditor.cxx:145 AliEveCascadeListEditor.cxx:146 AliEveCascadeListEditor.cxx:147 AliEveCascadeListEditor.cxx:148 AliEveCascadeListEditor.cxx:149 AliEveCascadeListEditor.cxx:150 AliEveCascadeListEditor.cxx:151 AliEveCascadeListEditor.cxx:152 AliEveCascadeListEditor.cxx:153 AliEveCascadeListEditor.cxx:154 AliEveCascadeListEditor.cxx:155 AliEveCascadeListEditor.cxx:156 AliEveCascadeListEditor.cxx:157 AliEveCascadeListEditor.cxx:158 AliEveCascadeListEditor.cxx:159 AliEveCascadeListEditor.cxx:160 AliEveCascadeListEditor.cxx:161 AliEveCascadeListEditor.cxx:162 AliEveCascadeListEditor.cxx:163 AliEveCascadeListEditor.cxx:164 AliEveCascadeListEditor.cxx:165 AliEveCascadeListEditor.cxx:166 AliEveCascadeListEditor.cxx:167 AliEveCascadeListEditor.cxx:168 AliEveCascadeListEditor.cxx:169 AliEveCascadeListEditor.cxx:170 AliEveCascadeListEditor.cxx:171 AliEveCascadeListEditor.cxx:172 AliEveCascadeListEditor.cxx:173 AliEveCascadeListEditor.cxx:174 AliEveCascadeListEditor.cxx:175 AliEveCascadeListEditor.cxx:176 AliEveCascadeListEditor.cxx:177 AliEveCascadeListEditor.cxx:178 AliEveCascadeListEditor.cxx:179 AliEveCascadeListEditor.cxx:180 AliEveCascadeListEditor.cxx:181 AliEveCascadeListEditor.cxx:182 AliEveCascadeListEditor.cxx:183