Example #1
0
bool MetaKeyManager::handleEvent(QEvent* event)
{
    if (QEvent::KeyPress != event->type() && QEvent::KeyRelease != event->type())
        return false;

    QKeyEvent *keyEvent = static_cast<QKeyEvent*> (event);

    // Preprocess the event to handle clipboard operations.
    // Filter c, x, v keys from ever getting into webkit so cut/copy/paste work
    // for non-frameworked text edit fields.

// QT5_TODO: Qt::ExternalKeyboardModifier not present in Qt5
#if (QT_VERSION < QT_VERSION_CHECK(5, 0, 0))
    static Qt::KeyboardModifiers commandModifier = (Qt::ControlModifier|Qt::ExternalKeyboardModifier);
#else
    static Qt::KeyboardModifiers commandModifier = (Qt::ControlModifier);
#endif
    if (keyEvent->modifiers() & Qt::MetaModifier 
        || (keyEvent->modifiers() & commandModifier) == commandModifier)
    { 
        if (keyEvent->key() == Qt::Key_C) {
            if (keyEvent->type() == QEvent::KeyPress) {
                Q_EMIT signalCopy();
            }
            return true;
        } else if (keyEvent->key() == Qt::Key_X) {
            if (keyEvent->type() == QEvent::KeyPress) {
                Q_EMIT signalCut();
            }
            return true;
        } else if (keyEvent->key() == Qt::Key_V) {
            if (keyEvent->type() == QEvent::KeyPress) {
                Q_EMIT signalPaste();
            }
            return true;
        } else if (keyEvent->key() == Qt::Key_A) {
            // NOTE: SelectAll should be detected and triggered by webkit,
            // This is a workaround until we move to QtWebKit
            if (keyEvent->type() == QEvent::KeyPress) {
                Q_EMIT signalSelectAll();
            }
            return true;
        }

    }
    return false;
}
Example #2
0
void trainBDT(void)
{
	// Open input file and get tree
	TFile *infile = new TFile("l3bdt.root");
	TTree *l3tree = (TTree*)infile->Get("l3tree");
	if(l3tree == NULL){
		cout << "Couldn't open \"l3bdt.root\"!" << endl;
		return;
	}

	// Open output root file (for TMVA)
	TFile *outfile = new TFile("l3BDT_out.root", "RECREATE");
	TMVA::Factory *fac = new TMVA::Factory("L3",outfile,"");

	// Specify input tree that contains both signal and background 
	TCut signalCut("is_good==1");
	TCut backgroundCut("is_good==0");
	fac->SetInputTrees(l3tree, signalCut, backgroundCut);

	// Add variables
	fac->AddVariable("Nstart_counter",      'I');
	fac->AddVariable("Ntof",                'I');
	fac->AddVariable("Nbcal_points",        'I');
	fac->AddVariable("Nbcal_clusters",      'I');
	fac->AddVariable("Ebcal_points",        'F');
	fac->AddVariable("Ebcal_clusters",      'F');
	fac->AddVariable("Nfcal_clusters",      'I');
	fac->AddVariable("Efcal_clusters",      'F');
	fac->AddVariable("Ntrack_candidates",   'I');
	fac->AddVariable("Ptot_candidates",     'F');

	TCut preSelectCut("");
	fac->PrepareTrainingAndTestTree(preSelectCut,"");
	fac->BookMethod(TMVA::Types::kBDT, "BDT", "");

	fac->TrainAllMethods();
	fac->TestAllMethods();
	fac->EvaluateAllMethods();

	delete fac;

	outfile->Close();
	delete outfile;
}