void KSceneSceneEditorDialogAIGroup::OnBnClickedCheckKing() { BOOL bCheck = m_Check_King.GetCheck(); if(bCheck) { if(!m_lpSceneSceneEditor) return; if(!m_lpDocLogical) return; HTREEITEM hItem = m_Tree.GetSelectedItem(); if(!hItem) return; int nImage = 0; m_Tree.GetItemImage(hItem,nImage,nImage); if(nImage==1) { HTREEITEM hGroup = m_Tree.GetParentItem(hItem); KSceneEditorDocLogical::AIGroup* pGroup = (KSceneEditorDocLogical::AIGroup*)(m_Tree.GetItemData(hGroup)); KSceneEditorDocLogical::NPCInfo* pNpc = (KSceneEditorDocLogical::NPCInfo*)(m_Tree.GetItemData(hItem)); for (size_t i=0;i<pGroup->vecNpcInfo.size();i++) { if(pNpc==pGroup->vecNpcInfo[i]) { pGroup->nKing = (int)i; } } } FillTree(); } }
void KGSFXModelViewPage::OnBnClickedButtonRefush() { //TCHAR szMapFileName[MAX_PATH]; TCHAR path[MAX_PATH]; sprintf(path, "%s%s", g_szDefWorkDirectory, m_strStartPath); //sprintf(szMapFileName, "%s%s", g_szDefWorkDirectory, TEXT("\\sfx_editor_file_map.ini")); m_ModelInfo.clear(); m_tree.DeleteAllItems(); m_bExitSearchThread = true; while (!m_bThreadExit) { Sleep(100); } int Index = 0; FillTree(NULL, path, &Index); m_Progress.SetRange32(0, (int)m_ModelInfo.size()); m_hSearch = (HANDLE)_beginthread(SearchThread, 0, this); m_bExitSearchThread = false; }
//========================================================= // 세 번째 프로퍼티 페이지에 대한 코드 BOOL CMyPage3::OnInitDialog() { CPropertyPage::OnInitDialog(); FillTree(); FillList(); return TRUE; }
void KSceneSceneEditorDialogAIGroup::SinkFunc2(INT nSinkID,INT nsubSinkID,DWORD dwValue,PVOID pPoint) { if(nSinkID==EVENTDOCLOGIGAL_UPDATEUI) { FillTree(); FillCombo(); } }
int test_listFilesCtor() { for (auto f : {"file_listFilesCtor1.root", "file_listFilesCtor2.root"}) FillTree(f, "t"); std::vector<std::string> files = {"file_listFilesCtor1.root", "file_listFilesCtor2.root"}; ROOT::RDataFrame d1("t", files); ROOT::RDataFrame d2("t", {"file_listFilesCtor1.root", "file_listFilesCtor2.root"}); return 0; }
void KVSimReader_ELIE::ReadFile() { while (IsOK()){ while (ReadEvent()){ if (nevt && nevt%1000==0) Info("ReadFile","%d evts lus",nevt); if (HasToFill()) FillTree(); } } }
void KSceneSceneEditorDialogAIGroup::OnBnClickedButtonAddset() { if(!m_lpSceneSceneEditor) return; if(!m_lpDocLogical) return; KSceneEditorDocLogical::AIGroup* pGroup = NULL; m_lpDocLogical->AddOneAIGroup(&pGroup,"AI Group"); FillTree(); }
bool CUndoRedoDetails::FillTree (IEnumUnknown *pIEnum, HTREEITEM hParent) { IUndoRedo *pIUndo; LPTSTR pDesc = NULL; UINT uiPos = IMG_FOLDER; pIEnum -> Reset(); while (S_OK == pIEnum -> Next (1, (LPUNKNOWN *)&pIUndo, NULL)) { DWORD dwCaps = pIUndo -> Capabilities ((signed char **)&pDesc); // BildchenTyp feststellen if (m_fUndo) { if (dwCaps & UNDOREDOCAPS_CANUNDO) uiPos = IMG_UNDO; else uiPos = IMG_UNDO_DISABLED; } else { if (dwCaps & UNDOREDOCAPS_CANREDO) uiPos = IMG_REDO; else uiPos = IMG_REDO_DISABLED; } // BeschreibungText (lang) extrahieren LPTSTR pLongDesc = strtok (pDesc, "|"); if (NULL == pLongDesc) pLongDesc = pDesc; else { pLongDesc = strtok (NULL, "|"); if (NULL == pLongDesc) pLongDesc = pDesc; } // Versuchen weiter zu untergliedern IEnumUnknown *pISubEnum = NULL; HRESULT hr = pIUndo -> QueryInterface (IID_IEnumUnknown, (LPVOID *)&pISubEnum); if (SUCCEEDED(hr)) // läßt sich weiter untergliedern uiPos = IMG_FOLDER; // zur Liste hinzufügen HTREEITEM hItem = m_tvDetails.InsertItem (pLongDesc, uiPos, uiPos, hParent, TVI_LAST); if (SUCCEEDED(hr)) { FillTree (pISubEnum, hItem); pISubEnum -> Release(); } pIUndo -> Release(); CoTaskMemFree (pDesc); } return true; }
/* TinTree "tins" a tree into an external structure. The complete structure * is allocated by one call to IfcAllocateMemory. The returned value shall * be used as an instore macro for RexxStart. * *length is set to the allocated size of the memory block on return. * ExpandedTinnedTree can expand the returned value and IsValidTin checks it. */ external_parser_type *TinTree(const tsd_t *TSD, const internal_parser_type *ipt, unsigned long *length) { external_parser_type *retval; unsigned long srclines, nodecount, len; *length = ComputeExternalSize(ipt, &srclines, &nodecount); retval = (external_parser_type *)IfcAllocateMemory(*length); if (retval == NULL) return(NULL); memset(retval, 0, sizeof(external_parser_type)); /* Build the envelope */ len = sizeof(MagicHeader); /* includes a terminating 0 */ if (len > sizeof(retval->Magic)) len = sizeof(retval->Magic); memcpy(retval->Magic, MagicHeader, len); len = sizeof(PARSE_VERSION_STRING); if (len > sizeof(retval->ReginaVersion)) len = sizeof(retval->ReginaVersion); memcpy(retval->ReginaVersion, PARSE_VERSION_STRING, len); retval->arch_detector.s.one = 1; retval->arch_detector.s.two = 2; retval->arch_detector.s.ptr3 = (void *)3; retval->arch_detector.s.ptr4 = (void *)4; retval->OverallSize = (unsigned long) *length; retval->NumberOfSourceLines = srclines; retval->version = INSTORE_VERSION; retval->NumberOfTreeElements = nodecount; retval->source = sizeof(external_parser_type); len = FillStrings((char *) retval, sizeof(external_parser_type), ipt->srclines); retval->tree = len; retval->TreeStart = ipt->root->nodeindex; len = FillTree((treenode *) ((char *) retval + len), (char *) retval, len + nodecount*sizeof(treenode), ipt->nodes); memcpy((char *) retval + len, retval->Magic, sizeof(retval->Magic)); assert((unsigned long) len + sizeof(retval->Magic) == *length); /* DEBUGGING: return NULL if you don't want tinned trees */ TSD = TSD; /* keep compiler happy */ return(retval); }
PluginDialog::PluginDialog( intf_thread_t *_p_intf ) : QVLCFrame( _p_intf ) { setAttribute( Qt::WA_DeleteOnClose ); setWindowTitle( qtr( "Plugins and extensions" ) ); QGridLayout *layout = new QGridLayout( this ); /* Main Tree for modules */ treePlugins = new QTreeWidget; layout->addWidget( treePlugins, 0, 0, 1, -1 ); /* Users cannot move the columns around but we need to sort */ treePlugins->header()->setMovable( false ); treePlugins->header()->setSortIndicatorShown( true ); // treePlugins->header()->setResizeMode( QHeaderView::ResizeToContents ); treePlugins->setAlternatingRowColors( true ); treePlugins->setColumnWidth( 0, 200 ); QStringList headerNames; headerNames << qtr("Name") << qtr("Capability" ) << qtr( "Score" ); treePlugins->setHeaderLabels( headerNames ); FillTree(); /* Set capability column to the correct Size*/ treePlugins->resizeColumnToContents( 1 ); treePlugins->header()->restoreState( getSettings()->value( "Plugins/Header-State" ).toByteArray() ); treePlugins->setSortingEnabled( true ); treePlugins->sortByColumn( 1, Qt::AscendingOrder ); QLabel *label = new QLabel( qtr("&Search:"), this ); edit = new SearchLineEdit( this ); label->setBuddy( edit ); layout->addWidget( label, 1, 0 ); layout->addWidget( edit, 1, 1, 1, -1 ); CONNECT( edit, textChanged( const QString& ), this, search( const QString& ) ); QDialogButtonBox *box = new QDialogButtonBox; QPushButton *okButton = new QPushButton( qtr( "&Close" ), this ); box->addButton( okButton, QDialogButtonBox::AcceptRole ); layout->addWidget( box, 2, 2 ); BUTTONACT( okButton, close() ); setMinimumSize( 500, 300 ); readSettings( "Plugins", QSize( 540, 400 ) ); }
void KVSimReader_SMF_asym::ReadFile(){ while (IsOK()){ if (ReadHeader()){ for (Int_t nd=0; nd<nv->GetIntValue("ndes"); nd+=1){ if (ReadEvent()){ if (nevt%1000==0) Info("ReadFile","%d evts lus",nevt); if (HasToFill()) FillTree(); } } } } }
LRESULT CMainDlg::OnSetFolder(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) { CFolderDialog fd(m_hWnd, "Path to EVE's folder:"); if(fd.DoModal(m_hWnd)!= IDCANCEL) { CRegKey rk; rk.Create(HKEY_CURRENT_USER, "Software\\TriExporter"); rk.SetStringValue("EVE", fd.m_szFolderPath); rk.Close(); if (sc.LoadDir(fd.m_szFolderPath)) FillTree(); else MessageBox("Unable to load SharedCache", "Error", MB_ICONERROR | MB_OK); } return TRUE; }
CUndoRedoDetails::CUndoRedoDetails (pWindow pW, IEnumUnknown *pIEnum, bool fUndo) : DialogWindow (pW, IDD_UNDOREDODETAILS), m_tvDetails (this, IDC_UNDOREDODETAILS), m_fUndo (fUndo) { // ImageList erzeugen und einbauen if (!m_ilDetails.CreateList (IDB_UNDOREDO_DETAILS, 16, 0, RGB(255, 0, 255))) return; CImageList *pIL = m_tvDetails.SetImageList (&m_ilDetails, TVSIL_NORMAL); if (pIL) delete pIL; // TreeControl füllen FillTree (pIEnum); }
int main(int argc, char **argv) { if (argc != 4) { std::cout << "Usage: " << argv[0] << " <databasefilename> <queryfilename> <tree-type>" << std::endl; return 0; } std::string db_filename(argv[1]); std::string str1(argv[2]); std::string str2(argv[3]); std::cout << "Input file is " << db_filename << " "; std::cout << "String 1 is " << str1 << " and string 2 is " << str2 << std::endl; CheckFile(db_filename); AvlTree<SequenceMap> a_tree; FillTree(db_filename, a_tree); a_tree.print_Between(str1, str2); return 0; }
BOOL CDlgTreeFrame::OnInitDialog() { CDialog::OnInitDialog(); // Set tree icons if any if ( m_dwIcon > 0 ) m_tree.SetImageList( &m_images, TVSIL_NORMAL ); // Fill in the tree FillTree(); // Set to first page SetPageByIndex( m_dwStartPage ); CWnd *pApply = GetDlgItem( IDC_APPLY ); if ( pApply != NULL ) pApply->EnableWindow( FALSE ); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
void KSceneSceneEditorDialogAIGroup::OnBnClickedButtonRemoveset() { if(!m_lpSceneSceneEditor) return; if(!m_lpDocLogical) return; HTREEITEM hItem = m_Tree.GetSelectedItem(); if(!hItem) return; int nImage = 0; m_Tree.GetItemImage(hItem,nImage,nImage); if(nImage==0) { KSceneEditorDocLogical::AIGroup* pGroup = (KSceneEditorDocLogical::AIGroup*)(m_Tree.GetItemData(hItem)); m_lpDocLogical->DeleteAIGroup(pGroup); FillTree(); } }
BOOL LayerGroupsCreate::OnInitDialog() { CDialog::OnInitDialog(); // images m_imageList = new CImageList(); m_imageList->Create(16, 16, TRUE, 2, 0); CWinApp *app = AfxGetApp(); m_imageList->Add(app->LoadIcon(IDI_LAYER)); m_imageList->Add(app->LoadIcon(IDI_OPEN_FOLDER)); m_list.SetImageList(m_imageList, LVSIL_SMALL); m_tree.SetImageList(m_imageList, TVSIL_NORMAL); for (int i=0; i < doc->getMaxLayerIndex(); i++) { LayerStruct *layer = doc->getLayerArray()[i]; if (layer == NULL) continue; int index = InsertItemIntoList(&m_list, layer->getName(), FALSE); GroupOrLayer *d = new GroupOrLayer; d->IsAGroup = FALSE; d->layer = layer; m_list.SetItemData(index, (LPARAM)d); } POSITION pos = doc->LayerGroupList.GetHeadPosition(); while (pos != NULL) { LayerGroupStruct *group = doc->LayerGroupList.GetNext(pos); int index = InsertItemIntoList(&m_list, group->name, TRUE); GroupOrLayer *d = new GroupOrLayer; d->IsAGroup = TRUE; d->group = group; m_list.SetItemData(index, (LPARAM)d); } FillTree(); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
BOOL CDlgTreeFrame::FillTree(HTPAGE hParent, HTREEITEM hItemParent) { DWORD added = 0; // Reset tree contents if ( hParent == NULL && hItemParent == NULL ) m_tree.DeleteAllItems(); LPTREEPAGEINFO ptpi = NULL; // Search each page while ( ( ptpi = GetNext( hParent, ptpi ) ) != NULL ) { added++; HTREEITEM hItem = MakeTreeEntry( ptpi->name, hItemParent, ptpi->iindex ); m_tree.SetItemData( hItem, (DWORD)ptpi ); if ( ptpi->index == m_dwStartPage ) m_tree.Select( hItem, TVGN_CARET ); if ( ptpi->pHead != NULL ) added += FillTree( ptpi, hItem ); } // end while return added; }
Bool_t ExampleFilteredSimDataAnalysis::Analysis() { // EVENT BY EVENT ANALYSIS // Reject events with less good particles than acquisition trigger for run if (!GetEvent()->IsOK()) return kTRUE; mult = GetEvent()->GetMult("ok"); // if we can access the events of the unfiltered simulation, read in the event corresponding // to the currently analysed reconstructed event if (link_to_unfiltered_simulation) GetFriendTreeEntry(GetEvent()->GetParameters()->GetIntValue("SIMEVENT_TREE_ENTRY")); for (int i = 0; i < mult; i++) { KVReconstructedNucleus* part = (KVReconstructedNucleus*)ZMAX->GetZmax(i); Z[i] = part->GetZ(); A[i] = part->GetA(); idcode[i] = part->GetIDCode(); ecode[i] = part->GetECode(); Ameasured[i] = part->IsAMeasured(); // Example for events filtered with FAZIA@INDRA set-up if (part->GetParameters()->GetTStringValue("ARRAY") == "INDRA") array[i] = 0; else if (part->GetParameters()->GetTStringValue("ARRAY") == "FAZIA") array[i] = 1; else array[i] = -1; Vper[i] = part->GetFrame("cm")->GetVperp(); Vpar[i] = part->GetFrame("cm")->GetVpar(); ELab[i] = part->GetEnergy(); ThetaLab[i] = part->GetTheta(); PhiLab[i] = part->GetPhi(); // if we can access the events of the unfiltered simulation, and if Gemini++ was used // to decay events before filtering, this is how you can access the "parent" nucleus // of the current detected decay product // KVSimNucleus* papa = (KVSimNucleus*)GetFriendEvent()->GetParticle( part->GetParameters()->GetIntValue("GEMINI_PARENT_INDEX") ); } GetGVList()->FillBranches(); FillTree(); return kTRUE; }
Bool_t SimulatedEventAnalysisTemplate::Analysis() { // EVENT BY EVENT ANALYSIS mult = GetEvent()->GetMult(); for (int i = 0; i < mult; i++) { KVSimNucleus* part = (KVSimNucleus*)ZMAX->GetZmax(i); Z[i] = part->GetZ(); A[i] = part->GetA(); Vper[i] = part->GetVperp(); Vpar[i] = part->GetVpar(); E[i] = part->GetEnergy(); Theta[i] = part->GetTheta(); Phi[i] = part->GetPhi(); } GetGVList()->FillBranches(); FillTree(); return kTRUE; }
tree * CreateTree(tree * tr) { if (tr) { puts("Tree has already been created"); return (tr); } if (!(tr = (tree*)malloc(sizeof(tree)))) { puts("Not enough memory"); return(NULL); } puts("Type some info on root level"); GetString(tr->info); tr->repeats = 1; tr->left = NULL; tr->right = NULL; char tmp [10]; puts("Proceed? [Y/N]"); GetString(tmp); if (strcmp(tmp,"Y\n")==0) FillTree(tr); return tr; }
//_____________________________________ Bool_t ExampleINDRAAnalysis::Analysis(void) { // Analysis method called event by event. // The current event can be accessed by a call to method GetEvent(). // See KVINDRAReconEvent documentation for the available methods. // Do not remove the following line - reject events with less identified particles than // the acquisition multiplicity trigger if (!GetEvent()->IsOK()) return kTRUE; // avoid pile-up events if (GetGV("ztot")->GetValue() > GetCurrentRun()->GetSystem()->GetZtot() + 4 || GetGV("zvtot")->GetValue() > 1.2) return kTRUE; GetGVList()->FillBranches(); // update values of all global variable branches Mult = GetEvent()->GetMult("OK"); EventNumber = GetEventNumber(); MTensor = GetGV("tensor")->GetValue("NumberParts"); // write new results in TTree FillTree(); return kTRUE; }
int CALLBACK CConfig::NotificationsDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { char buf[128]; switch (uMsg) { case WM_INITDIALOG: { m_bInitializingDialog = true; // Translate the dialog TranslateDialogDefault(hwndDlg); // Initialize the protocol filter list SetWindowLong(GetDlgItem(hwndDlg,IDC_PROTOCOLS),GWL_STYLE,GetWindowLong(GetDlgItem(hwndDlg,IDC_PROTOCOLS),GWL_STYLE)|TVS_NOHSCROLL); int iRes = 0; HIMAGELIST himlCheckBoxes; himlCheckBoxes=ImageList_Create(GetSystemMetrics(SM_CXSMICON),GetSystemMetrics(SM_CYSMICON),ILC_COLOR32|ILC_MASK,2,2); iRes = ImageList_AddIcon(himlCheckBoxes,LoadIcon(hInstance,MAKEINTRESOURCE(IDI_NOTICK))); iRes = ImageList_AddIcon(himlCheckBoxes,LoadIcon(hInstance,MAKEINTRESOURCE(IDI_TICK))); TreeView_SetImageList(GetDlgItem(hwndDlg,IDC_PROTOCOLS),himlCheckBoxes,TVSIL_NORMAL); FillTree(GetDlgItem(hwndDlg,IDC_PROTOCOLS)); CheckDlgButton(hwndDlg, IDC_NOTIFY_TIMESTAMPS, m_abBoolSettings[NOTIFY_TIMESTAMPS] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_SHOWPROTO, m_abBoolSettings[NOTIFY_SHOWPROTO] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_CHANNELCUTOFF, m_abBoolSettings[NOTIFY_CHANNELCUTOFF] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_NICKCUTOFF, m_abBoolSettings[NOTIFY_NICKCUTOFF] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_IRC_MESSAGES, m_abBoolSettings[NOTIFY_IRC_MESSAGES] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_IRC_USERS, m_abBoolSettings[NOTIFY_IRC_USERS] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_IRC_EMOTES, m_abBoolSettings[NOTIFY_IRC_EMOTES] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_IRC_NOTICES, m_abBoolSettings[NOTIFY_IRC_NOTICES] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_IRC_CHANNEL, m_abBoolSettings[NOTIFY_IRC_CHANNEL] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_IRC_STATUS, m_abBoolSettings[NOTIFY_IRC_STATUS] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_PROTO_STATUS, m_abBoolSettings[NOTIFY_PROTO_STATUS] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_PROTO_SIGNON, m_abBoolSettings[NOTIFY_PROTO_SIGNON] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_PROTO_SIGNOFF, m_abBoolSettings[NOTIFY_PROTO_SIGNOFF] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_SIGNON, m_abBoolSettings[NOTIFY_SIGNON] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_SIGNOFF, m_abBoolSettings[NOTIFY_SIGNOFF] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_STATUS, m_abBoolSettings[NOTIFY_STATUS] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_MESSAGES, m_abBoolSettings[NOTIFY_MESSAGES] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_FILE, m_abBoolSettings[NOTIFY_FILE] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_CONTACTS, m_abBoolSettings[NOTIFY_CONTACTS] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_URL, m_abBoolSettings[NOTIFY_URL] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_NO_SKIP_REPLY, m_abBoolSettings[NOTIFY_NO_SKIP_REPLY] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_SKIP_SIGNON, m_abBoolSettings[NOTIFY_SKIP_SIGNON] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_SKIP_SIGNOFF, m_abBoolSettings[NOTIFY_SKIP_SIGNOFF] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_SKIP_STATUS, m_abBoolSettings[NOTIFY_SKIP_STATUS] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_SKIP_MESSAGES, m_abBoolSettings[NOTIFY_SKIP_MESSAGES] ? BST_CHECKED : BST_UNCHECKED); itoa(m_aiIntSettings[NOTIFY_CHANNELCUTOFF_OFFSET], buf, 10); SetDlgItemTextA(hwndDlg, IDC_NOTIFY_CHANNELCUTOFF_OFFSET, buf); itoa(m_aiIntSettings[NOTIFY_NICKCUTOFF_OFFSET], buf, 10); SetDlgItemTextA(hwndDlg, IDC_NOTIFY_NICKCUTOFF_OFFSET, buf); itoa(m_aiIntSettings[NOTIFY_LOGSIZE], buf, 10); SetDlgItemTextA(hwndDlg, IDC_NOTIFY_LOGSIZE, buf); itoa(m_aiIntSettings[NOTIFY_DURATION], buf, 10); SetDlgItemTextA(hwndDlg, IDC_NOTIFY_DURATION, buf); CheckDlgButton(hwndDlg, IDC_NOTIFY_TITLEHIDE, m_aiIntSettings[NOTIFY_TITLE] == NOTIFY_TITLE_HIDE? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_TITLENAME, m_aiIntSettings[NOTIFY_TITLE] == NOTIFY_TITLE_NAME? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_NOTIFY_TITLEINFO, m_aiIntSettings[NOTIFY_TITLE] == NOTIFY_TITLE_INFO? BST_CHECKED : BST_UNCHECKED); m_bInitializingDialog = false; break; } case WM_NOTIFY: { if(((LPNMHDR)lParam)->idFrom == IDC_PROTOCOLS) { if(((LPNMHDR)lParam)->code != NM_CLICK) return 0; TVHITTESTINFO hti; hti.pt.x=(short)LOWORD(GetMessagePos()); hti.pt.y=(short)HIWORD(GetMessagePos()); ScreenToClient(((LPNMHDR)lParam)->hwndFrom,&hti.pt); if(TreeView_HitTest(((LPNMHDR)lParam)->hwndFrom,&hti)) if(hti.flags&TVHT_ONITEMICON) { TVITEM tvi; tvi.mask=TVIF_HANDLE|TVIF_IMAGE|TVIF_SELECTEDIMAGE; tvi.hItem=hti.hItem; TreeView_GetItem(((LPNMHDR)lParam)->hwndFrom,&tvi); tvi.iImage=tvi.iSelectedImage=!tvi.iImage; ((CProtoFilter *)tvi.lParam)->bTempNotificationFilter=tvi.iImage; TreeView_SetItem(((LPNMHDR)lParam)->hwndFrom,&tvi); SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); } break; } switch (((LPNMHDR)lParam)->code) { case PSN_APPLY: { m_abBoolSettings[NOTIFY_TIMESTAMPS] = IsDlgButtonChecked(hwndDlg,IDC_NOTIFY_TIMESTAMPS) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_CHANNELCUTOFF] = IsDlgButtonChecked(hwndDlg,IDC_NOTIFY_CHANNELCUTOFF) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_NICKCUTOFF] = IsDlgButtonChecked(hwndDlg,IDC_NOTIFY_NICKCUTOFF) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_SHOWPROTO] = IsDlgButtonChecked(hwndDlg,IDC_NOTIFY_SHOWPROTO) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_IRC_MESSAGES] = IsDlgButtonChecked(hwndDlg,IDC_NOTIFY_IRC_MESSAGES) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_IRC_USERS] = IsDlgButtonChecked(hwndDlg,IDC_NOTIFY_IRC_USERS) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_IRC_EMOTES] = IsDlgButtonChecked(hwndDlg,IDC_NOTIFY_IRC_EMOTES) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_IRC_NOTICES] = IsDlgButtonChecked(hwndDlg,IDC_NOTIFY_IRC_NOTICES) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_IRC_CHANNEL] = IsDlgButtonChecked(hwndDlg,IDC_NOTIFY_IRC_CHANNEL) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_IRC_STATUS] = IsDlgButtonChecked(hwndDlg,IDC_NOTIFY_IRC_STATUS) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_PROTO_STATUS] = IsDlgButtonChecked(hwndDlg,IDC_NOTIFY_PROTO_STATUS) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_PROTO_SIGNON] = IsDlgButtonChecked(hwndDlg,IDC_NOTIFY_PROTO_SIGNON) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_PROTO_SIGNOFF] = IsDlgButtonChecked(hwndDlg,IDC_NOTIFY_PROTO_SIGNOFF) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_MESSAGES] = IsDlgButtonChecked(hwndDlg,IDC_NOTIFY_MESSAGES) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_SIGNON] = IsDlgButtonChecked(hwndDlg,IDC_NOTIFY_SIGNON) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_SIGNOFF] = IsDlgButtonChecked(hwndDlg,IDC_NOTIFY_SIGNOFF) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_STATUS] = IsDlgButtonChecked(hwndDlg,IDC_NOTIFY_STATUS) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_URL] = IsDlgButtonChecked(hwndDlg,IDC_NOTIFY_URL) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_FILE] = IsDlgButtonChecked(hwndDlg,IDC_NOTIFY_FILE) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_CONTACTS] = IsDlgButtonChecked(hwndDlg,IDC_NOTIFY_CONTACTS) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_NO_SKIP_REPLY] = IsDlgButtonChecked(hwndDlg,IDC_NOTIFY_NO_SKIP_REPLY) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_SKIP_MESSAGES] = IsDlgButtonChecked(hwndDlg,IDC_NOTIFY_SKIP_MESSAGES) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_SKIP_SIGNON] = IsDlgButtonChecked(hwndDlg,IDC_NOTIFY_SKIP_SIGNON) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_SKIP_SIGNOFF] = IsDlgButtonChecked(hwndDlg,IDC_NOTIFY_SKIP_SIGNOFF) == BST_CHECKED ? true : false; m_abBoolSettings[NOTIFY_SKIP_STATUS] = IsDlgButtonChecked(hwndDlg,IDC_NOTIFY_SKIP_STATUS) == BST_CHECKED ? true : false; GetDlgItemTextA(hwndDlg,IDC_NOTIFY_CHANNELCUTOFF_OFFSET,buf,256); m_aiIntSettings[NOTIFY_CHANNELCUTOFF_OFFSET] = atoi(buf) > 0 ? atoi(buf):1; GetDlgItemTextA(hwndDlg,IDC_NOTIFY_NICKCUTOFF_OFFSET,buf,256); m_aiIntSettings[NOTIFY_NICKCUTOFF_OFFSET] = atoi(buf) > 0 ? atoi(buf):1; GetDlgItemTextA(hwndDlg,IDC_NOTIFY_DURATION,buf,256); m_aiIntSettings[NOTIFY_DURATION] = atoi(buf) > 0 ? atoi(buf):1; GetDlgItemTextA(hwndDlg,IDC_NOTIFY_LOGSIZE,buf,256); m_aiIntSettings[NOTIFY_LOGSIZE] = atoi(buf) > 0 ? atoi(buf):1; if(IsDlgButtonChecked(hwndDlg,IDC_NOTIFY_TITLEHIDE) == BST_CHECKED) m_aiIntSettings[NOTIFY_TITLE] = NOTIFY_TITLE_HIDE; else if(IsDlgButtonChecked(hwndDlg,IDC_NOTIFY_TITLENAME) == BST_CHECKED) m_aiIntSettings[NOTIFY_TITLE] = NOTIFY_TITLE_NAME; else m_aiIntSettings[NOTIFY_TITLE] = NOTIFY_TITLE_INFO; // apply all contactlist protocol filters vector<CProtoFilter*>::iterator iter = m_ProtoList.begin(); while(iter != m_ProtoList.end()) { (*iter)->bNotificationFilter = (*iter)->bTempNotificationFilter; iter++; } CConfig::SaveSettings(); SendMessage(hwndDlg, WM_INITDIALOG, 0, 0); break; } } break; } case WM_COMMAND: { // Activate the apply button if (!m_bInitializingDialog && ((HIWORD(wParam) == EN_CHANGE) || (HIWORD(wParam) == BN_CLICKED))) SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); break; } } return 0; }
INT_PTR CALLBACK ProtoDlgProc(HWND hwnd, UINT msg, WPARAM, LPARAM lParam) { HWND hwndProto = GetDlgItem(hwnd, IDC_PROTO); switch (msg) { case WM_INITDIALOG: TranslateDialogDefault(hwnd); SetWindowLongPtr(hwndProto, GWL_STYLE, GetWindowLongPtr(hwndProto, GWL_STYLE) | TVS_NOHSCROLL); { HIMAGELIST himlCheckBoxes = ImageList_Create(GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), ILC_COLOR32 | ILC_MASK, 2, 2); HICON Icon; Icon = (HICON)Skin_LoadIcon(SKINICON_OTHER_NOTICK); ImageList_AddIcon(himlCheckBoxes, Icon); IcoLib_ReleaseIcon(Icon); Icon = (HICON)Skin_LoadIcon(SKINICON_OTHER_TICK); ImageList_AddIcon(himlCheckBoxes, Icon); IcoLib_ReleaseIcon(Icon); TreeView_SetImageList(hwndProto, himlCheckBoxes, TVSIL_NORMAL); } FillTree(hwndProto); return TRUE; case WM_NOTIFY: switch (((LPNMHDR)lParam)->idFrom) { case 0: if (((LPNMHDR)lParam)->code == PSN_APPLY) { std::ostringstream out; TVITEM tvi; tvi.hItem = TreeView_GetRoot(hwndProto); tvi.mask = TVIF_PARAM | TVIF_HANDLE; while (tvi.hItem != NULL) { TreeView_GetItem(hwndProto, &tvi); if (tvi.lParam != 0) { ProtocolData* ppd = (ProtocolData*)tvi.lParam; if (ppd->enabled && ppd->show) out << ppd->RealName << " "; } tvi.hItem = TreeView_GetNextSibling(hwndProto, tvi.hItem); } plSets->DisabledProtoList = out.str(); } break; case IDC_PROTO: switch (((LPNMHDR)lParam)->code) { case TVN_DELETEITEM: { NMTREEVIEWA * pnmtv = (NMTREEVIEWA *)lParam; if (pnmtv && pnmtv->itemOld.lParam) mir_free((ProtocolData*)pnmtv->itemOld.lParam); } break; case NM_CLICK: TVHITTESTINFO hti; hti.pt.x = (short)LOWORD(GetMessagePos()); hti.pt.y = (short)HIWORD(GetMessagePos()); ScreenToClient(((LPNMHDR)lParam)->hwndFrom, &hti.pt); if (TreeView_HitTest(((LPNMHDR)lParam)->hwndFrom, &hti)) { if (hti.flags & TVHT_ONITEMICON) { TVITEMA tvi; tvi.mask = TVIF_HANDLE | TVIF_IMAGE | TVIF_SELECTEDIMAGE; tvi.hItem = hti.hItem; TreeView_GetItem(((LPNMHDR)lParam)->hwndFrom, &tvi); ProtocolData *pData = (ProtocolData*)tvi.lParam; if (pData->enabled) { tvi.iImage = tvi.iSelectedImage = !tvi.iImage; pData->show = tvi.iImage; TreeView_SetItem(((LPNMHDR)lParam)->hwndFrom, &tvi); SendMessage(GetParent(hwnd), PSM_CHANGED, (WPARAM)hwnd, 0); } } } } break; } break; } return FALSE; }
int main(int argc, char** argv) { //Check if all nedeed arguments to parse are there if(argc != 2) { std::cerr << ">>>>> analysis.cpp::usage: " << argv[0] << " configFileName" << std::endl ; return 1; } // Parse the config file parseConfigFile (argv[1]) ; std::string treeName = gConfigParser -> readStringOption("Input::treeName"); std::string inputFile = gConfigParser -> readStringOption("Input::inputFile"); double inputXSection = gConfigParser -> readDoubleOption("Input::inputXSection"); int entryMAX = gConfigParser -> readIntOption("Input::entryMAX"); int entryMIN = gConfigParser -> readIntOption("Input::entryMIN"); int entryMOD = gConfigParser -> readIntOption("Input::entryMOD"); std::cout << ">>>>> input::entryMIN " << entryMIN << std::endl; std::cout << ">>>>> input::entryMAX " << entryMAX << std::endl; std::cout << ">>>>> input::entryMOD " << entryMOD << std::endl; int dataFlag = 0; if (inputXSection == -1) dataFlag = 1; //==== it's a data sample!!! std::cerr << ">>>>> input:: --- dataFlag " << dataFlag << std::endl; // define map with events std::map<std::pair<int,std::pair<int,int> >,int> eventsMap; int nStepToDo = 1000; try { nStepToDo = gConfigParser -> readIntOption("Input::nStepToDo"); } catch (char const* exceptionString){ std::cerr << " exception = " << exceptionString << std::endl; nStepToDo = 1000; } std::cout << ">>>>> input::nStepToDo " << nStepToDo << std::endl; // Open ntple TChain* chain = new TChain(treeName.c_str()); chain->Add(inputFile.c_str()); treeReader reader((TTree*)(chain)); bool debug = false; try { debug = gConfigParser -> readBoolOption("Input::debug"); } catch (char const* exceptionString){ std::cerr << " exception = " << exceptionString << std::endl; } std::cout << ">>>>> input::debug " << debug << std::endl; ///****************** ///**** Triggers **** std::vector<std::string> HLTVector; try { HLTVector = gConfigParser -> readStringListOption("Options::HLTVector"); } catch (char const* exceptionString){ std::cerr << " exception = " << exceptionString << std::endl; } std::cout << ">>>>> Options::HLTVector size = " << HLTVector.size() << std::endl; std::cout << ">>>>> >>>>> "; for (int iHLT = 0; iHLT < HLTVector.size(); iHLT++){ std::cout << " " << HLTVector.at(iHLT) << ", "; } std::cout << std::endl; ///**************************** ///**** DATA JSON file **** std::string inFileNameJSON; try { inFileNameJSON = gConfigParser -> readStringOption("Input::inFileNameJSON"); } catch (char const* exceptionString){ std::cerr << " exception = " << exceptionString << std::endl; } std::cout << ">>>>> Input::inFileNameJSON " << inFileNameJSON << std::endl; std::map<int, std::vector<std::pair<int, int> > > jsonMap; if( dataFlag == 1 ) { jsonMap = readJSONFile(inFileNameJSON); } ///---- Efficiency preselections ---- std::string histoNameEvents = gConfigParser -> readStringOption("Input::histoNameEvents"); std::cout << ">>>>> Input::inputFile " << inputFile << std::endl; std::cout << ">>>>> Input::inputXSection " << inputXSection << std::endl; std::cout << ">>>>> Input::histoNameEvents " << histoNameEvents << std::endl; // Open ntples TFile File(inputFile.c_str()) ; TH1F* histoEvents = (TH1F*) File.Get(TString(histoNameEvents.c_str())); ///---------------------- ///---- Preselection ---- ///~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ///==== only retrocompatibility ==== ///================================= double lepton_efficiency = 1; double jet_efficiency = 1; double eff_Channel_Filter = 1; double preselection_efficiency = 1.; ///~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ///~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ///~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ///------------------- ///---- selection ---- std::string outFileName = gConfigParser -> readStringOption("Output::outFileName"); std::cout << ">>>>> Output::outFileName " << outFileName << std::endl; int nStep = 10; ///==== number of steps in the analysis int numEntriesBefore; // define variable container Variables vars; InitializeTree(vars, outFileName); InitializeTreeTrigger(vars, HLTVector, reader); vars.XSection = inputXSection; vars.dataFlag = dataFlag; ///~~~~ 0 = MC 1 = DATA if (entryMAX == -1) entryMAX = reader.GetEntries(); else if (reader.GetEntries() < entryMAX) entryMAX = reader.GetEntries(); numEntriesBefore = entryMAX - entryMIN; if (histoEvents) preselection_efficiency = numEntriesBefore / (1. * histoEvents->GetBinContent(1)); else preselection_efficiency = 1; vars.numEntriesBefore = numEntriesBefore; vars.preselection_efficiency = preselection_efficiency; FillEfficiencyTree(vars); ///************************************* ///**** definition of electron ID **** ///**** https://twiki.cern.ch/twiki/bin/viewauth/CMS/SimpleCutBasedEleID ///**** https://twiki.cern.ch/twiki/bin/viewauth/CMS/SimpleCutBasedEleID2011 std::vector<double> BarrelSelections; std::vector<double> EndcapSelections; double eleCombinedIsoBarrel = gConfigParser -> readDoubleOption("Selection::eleCombinedIsoBarrel"); double elesigmaIetaIetaBarrel = gConfigParser -> readDoubleOption("Selection::elesigmaIetaIetaBarrel"); double eledPhiBarrel = gConfigParser -> readDoubleOption("Selection::eledPhiBarrel"); double eledEtaBarrel = gConfigParser -> readDoubleOption("Selection::eledEtaBarrel"); double eleCombinedIsoEndcap = gConfigParser -> readDoubleOption("Selection::eleCombinedIsoEndcap"); double elesigmaIetaIetaEndcap = gConfigParser -> readDoubleOption("Selection::elesigmaIetaIetaEndcap"); double eledPhiEndcap = gConfigParser -> readDoubleOption("Selection::eledPhiEndcap"); double eledEtaEndcap = gConfigParser -> readDoubleOption("Selection::eledEtaEndcap"); double elemishits = gConfigParser -> readDoubleOption("Selection::elemishits"); double eledist = gConfigParser -> readDoubleOption("Selection::eledist"); double eledcot = gConfigParser -> readDoubleOption("Selection::eledcot"); double eledzPV = gConfigParser -> readDoubleOption("Selection::eledzPV"); double eledxyPV = gConfigParser -> readDoubleOption("Selection::eledxyPV"); BarrelSelections.push_back(eleCombinedIsoBarrel); BarrelSelections.push_back(elesigmaIetaIetaBarrel); BarrelSelections.push_back(eledPhiBarrel); BarrelSelections.push_back(eledEtaBarrel); BarrelSelections.push_back(elemishits); BarrelSelections.push_back(eledist); BarrelSelections.push_back(eledcot); BarrelSelections.push_back(eledzPV); BarrelSelections.push_back(eledxyPV); EndcapSelections.push_back(eleCombinedIsoEndcap); EndcapSelections.push_back(elesigmaIetaIetaEndcap); EndcapSelections.push_back(eledPhiEndcap); EndcapSelections.push_back(eledEtaEndcap); EndcapSelections.push_back(elemishits); EndcapSelections.push_back(eledist); EndcapSelections.push_back(eledcot); EndcapSelections.push_back(eledzPV); EndcapSelections.push_back(eledxyPV); ///**** https://twiki.cern.ch/twiki/bin/viewauth/CMS/SimpleCutBasedEleID --> 2010 Data ///**** 95% **** /* BarrelSelections.push_back(0.15); ///==== iso Tk BarrelSelections.push_back(2.00); ///==== iso em BarrelSelections.push_back(0.12); ///==== iso had BarrelSelections.push_back(0.15); ///==== iso combined BarrelSelections.push_back(0.015); ///==== hOe BarrelSelections.push_back(0.01); ///==== sigmaIetaIeta BarrelSelections.push_back(0.8); ///==== dPhi BarrelSelections.push_back(0.007); ///==== dEta EndCapSelections.push_back(0.08); ///==== iso Tk EndCapSelections.push_back(0.06); ///==== iso em EndCapSelections.push_back(0.05); ///==== iso had EndCapSelections.push_back(0.10); ///==== iso combined EndCapSelections.push_back(0.07); ///==== hOe EndCapSelections.push_back(0.03); ///==== sigmaIetaIeta EndCapSelections.push_back(0.7); ///==== dPhi EndCapSelections.push_back(0.01); ///==== dEta */ ///**** 90% **** /* BarrelSelections.push_back(0.12); ///==== iso Tk BarrelSelections.push_back(0.09); ///==== iso em BarrelSelections.push_back(0.10); ///==== iso had BarrelSelections.push_back(0.10); ///==== iso combined BarrelSelections.push_back(0.12); ///==== hOe BarrelSelections.push_back(0.01); ///==== sigmaIetaIeta BarrelSelections.push_back(0.8); ///==== dPhi BarrelSelections.push_back(0.007); ///==== dEta EndCapSelections.push_back(0.05); ///==== iso Tk EndCapSelections.push_back(0.06); ///==== iso em EndCapSelections.push_back(0.03); ///==== iso had EndCapSelections.push_back(0.07); ///==== iso combined EndCapSelections.push_back(0.05); ///==== hOe EndCapSelections.push_back(0.03); ///==== sigmaIetaIeta EndCapSelections.push_back(0.7); ///==== dPhi EndCapSelections.push_back(0.007); ///==== dEta */ ///**** 80% **** /* BarrelSelections.push_back(0.09); ///==== iso Tk BarrelSelections.push_back(0.07); ///==== iso em BarrelSelections.push_back(0.10); ///==== iso had BarrelSelections.push_back(0.07); ///==== iso combined BarrelSelections.push_back(0.040); ///==== hOe BarrelSelections.push_back(0.01); ///==== sigmaIetaIeta BarrelSelections.push_back(0.06); ///==== dPhi BarrelSelections.push_back(0.004); ///==== dEta EndCapSelections.push_back(0.04); ///==== iso Tk EndCapSelections.push_back(0.05); ///==== iso em EndCapSelections.push_back(0.025); ///==== iso had EndCapSelections.push_back(0.06); ///==== iso combined EndCapSelections.push_back(0.025); ///==== hOe EndCapSelections.push_back(0.03); ///==== sigmaIetaIeta EndCapSelections.push_back(0.03); ///==== dPhi EndCapSelections.push_back(0.007); ///==== dEta */ ///**** 70% **** /* BarrelSelections.push_back(0.05); ///==== iso Tk BarrelSelections.push_back(0.06); ///==== iso em BarrelSelections.push_back(0.03); ///==== iso had BarrelSelections.push_back(0.04); ///==== iso combined BarrelSelections.push_back(0.025); ///==== hOe BarrelSelections.push_back(0.01); ///==== sigmaIetaIeta BarrelSelections.push_back(0.004); ///==== dPhi BarrelSelections.push_back(0.004); ///==== dEta EndCapSelections.push_back(0.025); ///==== iso Tk EndCapSelections.push_back(0.025); ///==== iso em EndCapSelections.push_back(0.02); ///==== iso had EndCapSelections.push_back(0.03); ///==== iso combined EndCapSelections.push_back(0.025); ///==== hOe EndCapSelections.push_back(0.03); ///==== sigmaIetaIeta EndCapSelections.push_back(0.02); ///==== dPhi EndCapSelections.push_back(0.005); ///==== dEta */ ///**** https://twiki.cern.ch/twiki/bin/viewauth/CMS/SimpleCutBasedEleID2011 --> 2011 Data ///**** 95% **** /* BarrelSelections.push_back(10000.); ///==== iso Tk BarrelSelections.push_back(10000.); ///==== iso em BarrelSelections.push_back(10000.); ///==== iso had BarrelSelections.push_back(0.150); ///==== iso combined BarrelSelections.push_back(10000.); ///==== hOe BarrelSelections.push_back(0.012); ///==== sigmaIetaIeta BarrelSelections.push_back(0.800); ///==== dPhi BarrelSelections.push_back(0.007); ///==== dEta EndCapSelections.push_back(10000.); ///==== iso Tk EndCapSelections.push_back(10000.); ///==== iso em EndCapSelections.push_back(10000.); ///==== iso had EndCapSelections.push_back(0.100); ///==== iso combined EndCapSelections.push_back(10000.); ///==== hOe EndCapSelections.push_back(0.031); ///==== sigmaIetaIeta EndCapSelections.push_back(0.7); ///==== dPhi EndCapSelections.push_back(0.011); ///==== dEta */ ///**** 90% **** /* BarrelSelections.push_back(10000.); ///==== iso Tk BarrelSelections.push_back(10000.); ///==== iso em BarrelSelections.push_back(10000.); ///==== iso had BarrelSelections.push_back(0.085); ///==== iso combined BarrelSelections.push_back(10000.); ///==== hOe BarrelSelections.push_back(0.01); ///==== sigmaIetaIeta BarrelSelections.push_back(0.071); ///==== dPhi BarrelSelections.push_back(0.007); ///==== dEta EndCapSelections.push_back(10000.); ///==== iso Tk EndCapSelections.push_back(10000.); ///==== iso em EndCapSelections.push_back(10000.); ///==== iso had EndCapSelections.push_back(0.051); ///==== iso combined EndCapSelections.push_back(10000.); ///==== hOe EndCapSelections.push_back(0.031); ///==== sigmaIetaIeta EndCapSelections.push_back(0.047); ///==== dPhi EndCapSelections.push_back(0.011); ///==== dEta */ ///**** 85% **** /* BarrelSelections.push_back(10000.); ///==== iso Tk BarrelSelections.push_back(10000.); ///==== iso em BarrelSelections.push_back(10000.); ///==== iso had BarrelSelections.push_back(0.053); ///==== iso combined BarrelSelections.push_back(10000.); ///==== hOe BarrelSelections.push_back(0.01); ///==== sigmaIetaIeta BarrelSelections.push_back(0.039); ///==== dPhi BarrelSelections.push_back(0.005); ///==== dEta EndCapSelections.push_back(10000.); ///==== iso Tk EndCapSelections.push_back(10000.); ///==== iso em EndCapSelections.push_back(10000.); ///==== iso had EndCapSelections.push_back(0.042); ///==== iso combined EndCapSelections.push_back(10000.); ///==== hOe EndCapSelections.push_back(0.031); ///==== sigmaIetaIeta EndCapSelections.push_back(0.028); ///==== dPhi EndCapSelections.push_back(0.007); ///==== dEta */ ///**** 80% **** /* BarrelSelections.push_back(10000.); ///==== iso Tk BarrelSelections.push_back(10000.); ///==== iso em BarrelSelections.push_back(10000.); ///==== iso had BarrelSelections.push_back(0.040); ///==== iso combined BarrelSelections.push_back(10000.); ///==== hOe BarrelSelections.push_back(0.01); ///==== sigmaIetaIeta BarrelSelections.push_back(0.027); ///==== dPhi BarrelSelections.push_back(0.005); ///==== dEta EndCapSelections.push_back(10000.); ///==== iso Tk EndCapSelections.push_back(10000.); ///==== iso em EndCapSelections.push_back(10000.); ///==== iso had EndCapSelections.push_back(0.033); ///==== iso combined EndCapSelections.push_back(10000.); ///==== hOe EndCapSelections.push_back(0.031); ///==== sigmaIetaIeta EndCapSelections.push_back(0.021); ///==== dPhi EndCapSelections.push_back(0.006); ///==== dEta */ ///*********************************** ///**** definition of muon ID **** std::vector<double> Selections; double muCombinedIso = gConfigParser -> readDoubleOption("Selection::muCombinedIso"); double muChi2Ndof = gConfigParser -> readDoubleOption("Selection::muChi2Ndof"); double muValidTrackerHits = gConfigParser -> readDoubleOption("Selection::muValidTrackerHits"); double muValidMuonHits = gConfigParser -> readDoubleOption("Selection::muValidMuonHits"); double mutracker = gConfigParser -> readDoubleOption("Selection::mutracker"); double mustandalone = gConfigParser -> readDoubleOption("Selection::mustandalone"); double muglobal = gConfigParser -> readDoubleOption("Selection::muglobal"); double mudzPV = gConfigParser -> readDoubleOption("Selection::mudzPV"); double mudxyPV = gConfigParser -> readDoubleOption("Selection::mudxyPV"); Selections.push_back(muCombinedIso); Selections.push_back(muChi2Ndof); Selections.push_back(muValidTrackerHits); Selections.push_back(muValidMuonHits); Selections.push_back(mutracker); Selections.push_back(mustandalone); Selections.push_back(muglobal); Selections.push_back(mudzPV); Selections.push_back(mudxyPV); /* Selections.push_back(0.15); ///==== iso Combined Selections.push_back(10); ///==== Chi2/ndof Selections.push_back(10); ///==== n ValidTrackerHits Selections.push_back(0); ///==== n ValidMuonHits Selections.push_back(1); ///==== tracker Selections.push_back(1); ///==== standalone Selections.push_back(1); ///==== global //Selections.push_back(1); ///==== goodMuon */ double start, end; std::cout << ">>>>> analysis::entryMIN " << entryMIN << " ==> entryMAX " << entryMAX << ":" << reader.GetEntries() << std::endl; int step = 0; start = clock(); for(int iEvent = entryMIN ; iEvent < entryMAX ; ++iEvent) { reader.GetEntry(iEvent); if((iEvent%entryMOD) == 0) std::cout << ">>>>> analysis::GetEntry " << iEvent << " : " << entryMAX - entryMIN << std::endl; ///==== define variables ==== std::vector<ROOT::Math::XYZTVector>* jets = reader.Get4V("jets"); // std::vector<ROOT::Math::XYZTVector>* muons = reader.Get4V("muons"); // std::vector<ROOT::Math::XYZTVector>* electrons = reader.Get4V("electrons"); ///********************************************************************************************* ///********************************************************************************************* ///============================= ///==== fill MC information ==== SetMCVariables(vars, reader); ///============================= ///==== fill Primary Vertex ==== SetPVVariables(vars, reader); ///================================ ///==== fill Event information ==== SetEventVariables(vars, reader); ///*************************************************** ///**** STEP -1 - Check no copies in DATA **** ///*************************************************** if (debug) std::cout << " STEP -1 " << std::endl; if( dataFlag == 1 ) { std::pair<int,int> eventLSandID(reader.GetInt("lumiId")->at(0), reader.GetInt("eventId")->at(0)); std::pair<int,std::pair<int,int> > eventRUNandLSandID(reader.GetInt("runId")->at(0), eventLSandID); if( eventsMap[eventRUNandLSandID] == 1 ) continue; else eventsMap[eventRUNandLSandID] = 1; } ///************************************************* ///**** Check comparison with JSON file *** ///************************************************* if( dataFlag == 1 ) { int runId = reader.GetInt("runId")->at(0); int lumiId = reader.GetInt("lumiId")->at(0); if(AcceptEventByRunAndLumiSection(runId, lumiId, jsonMap) == false) continue; } ///**************************** ///**** STEP 0 - Ntuplizer **** ///************* no additional selections applied step = 0; if (step > nStepToDo) { FillTree(vars); continue; } if (debug) std::cout << ">>> STEP 0 <<<" << std::endl; ///********************************************* ///**** STEP 1 - Jet cleaning + min pT **** ///************* it's performed another time here to make sure that the cleaning worked well ///************* Jet - electrons (pT > 5) ///************* Jet - muons (pT > 5) ///************ In addition only jets with pT > 15 are considered from now on! ///************ No selections are applied here step = 1; if (step > nStepToDo) { // FillTree(vars); continue; } if (debug) std::cout << ">>> STEP 1 <<<" << std::endl; std::vector<ROOT::Math::XYZTVector> leptons_jetCleaning; // build the collection of electros for jet cleaning ///==== CLEANING WITH ELECTRONS ==== for(unsigned int iEle = 0; iEle < (reader.Get4V("electrons")->size()); ++iEle) { if( reader.Get4V("electrons")->at(iEle).pt() < 5. ) continue; // bool flag = IsEleIsolatedID_VBF(reader,BarrelSelections,EndcapSelections,iEle); bool flag = IsEleIsolatedIDPUCorrected_VBF(reader,BarrelSelections,EndcapSelections,iEle); if (!flag) continue; leptons_jetCleaning.push_back( reader.Get4V("electrons")->at(iEle) ); } ///==== CLEANING WITH MUONS ==== for (int iMu = 0; iMu < reader.Get4V("muons")->size(); iMu++){ if (reader.Get4V("muons")->at(iMu).pt() < 5.0) continue; if (fabs(reader.Get4V("muons")->at(iMu).Eta()) > 2.5) continue; // bool flag = IsMuIsolatedID_VBF(reader,Selections,iMu); bool flag = IsMuIsolatedIDPUCorrected_VBF(reader,Selections,iMu); if (!flag) continue; leptons_jetCleaning.push_back( reader.Get4V("muons")->at(iMu) ); } ///==== now clean jet collection ==== int nJets = reader.Get4V("jets")->size(); std::vector<int> whitelistJet; ///~~~~ all jets, 0 if rejected, 1 if accepted std::vector<int> blacklistJet; ///~~~~ list of numbers of jets that are "rejected" std::vector<int> blacklistJet_forCJV; std::vector<int> blacklistJet_forBtag; for (int iJet = 0; iJet < nJets; iJet++){ bool skipJet = false; if (reader.Get4V("jets")->at(iJet).Et() < 15.0) skipJet = true; for(unsigned int iLep = 0; iLep < leptons_jetCleaning.size(); ++iLep) { ROOT::Math::XYZTVector lep = leptons_jetCleaning.at(iLep); if (ROOT::Math::VectorUtil::DeltaR(reader.Get4V("jets")->at(iJet),lep) < 0.3 ) skipJet = true; } if (skipJet) { whitelistJet.push_back(0); ///---- reject blacklistJet.push_back(iJet); ///---- reject ///== black list is in a different format blacklistJet_forCJV.push_back(iJet); ///---- reject ///== black list is in a different format blacklistJet_forBtag.push_back(iJet); ///---- reject ///== black list is in a different format } else { whitelistJet.push_back(1); ///---- select } } ///************************************** ///**** STEP 2 - Super-Preselections **** ///************* tighter preselections to start the analysis from the same point ///==== construct considered objets /// Objects considered and selections /// Muon /// Pt>10GeV, eta<2.5 /// MuonId & Iso /// /// Electron /// Pt>10GeV & |eta|<2.5 /// eleId & Iso /// /// At least two leptons /// Jet /// Antikt5, L2L3 correction jets /// At least two calo jets or two pf jets with pt>15 GeV //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ step = 2; if (step > nStepToDo) { // FillTree(vars); continue; } if (debug) std::cout << ">>> STEP 2 <<<" << std::endl; /// Electron /// Pt>10GeV & |eta|<2.5 /// IsoTr / pTele <0.5 /// eleId & Iso std::vector<int> whitelistEle; std::vector<int> blacklistEle; int nEles = reader.Get4V("electrons")->size(); for (int iEle = 0; iEle < nEles; iEle++){ bool skipEle = false; if (reader.Get4V("electrons")->at(iEle).pt() < 10.0) skipEle = true; if (fabs(reader.Get4V("electrons")->at(iEle).Eta()) > 2.5) skipEle = true; // bool flag = IsEleIsolatedID_VBF(reader,BarrelSelections,EndcapSelections,iEle); bool flag = IsEleIsolatedIDPUCorrected_VBF(reader,BarrelSelections,EndcapSelections,iEle); if (!flag) skipEle = true; if (skipEle) { whitelistEle.push_back(0); ///---- reject blacklistEle.push_back(iEle); ///---- reject ///== black list is in a different format } else { whitelistEle.push_back(1); ///---- select } } /// Muon /// Pt>10GeV, eta<2.5 /// MuonId & Iso std::vector<int> whitelistMu; std::vector<int> blacklistMu; int nMus = reader.Get4V("muons")->size(); for (int iMu = 0; iMu < nMus; iMu++){ bool skipMu = false; if (reader.Get4V("muons")->at(iMu).pt() < 10.0) skipMu = true; if (fabs(reader.Get4V("muons")->at(iMu).Eta()) > 2.5) skipMu = true; // bool flag = IsMuIsolatedID_VBF(reader,Selections,iMu); bool flag = IsMuIsolatedIDPUCorrected_VBF(reader,Selections,iMu); if (!flag) skipMu = true; if (skipMu) { whitelistMu.push_back(0); ///---- reject blacklistMu.push_back(iMu); ///---- reject ///== black list is in a different format } else { whitelistMu.push_back(1); ///---- select } } /// At least 2 leptons int numMus_Accepted = GetNumList(whitelistMu); int numEles_Accepted = GetNumList(whitelistEle); int numLeptons_Accepted = numMus_Accepted + numEles_Accepted; if (numLeptons_Accepted < 2) continue; /// Jet /// At least two calo jets or two pf jets with pt>20 GeV int numJets_Accepted = GetNumList(whitelistJet); if (numJets_Accepted < 2) continue; ///==== at least 2 jets "isolated" ///************************* ///**** STEP 3 - Jet ID **** ///************* Identification of two tag jets step = 3; if (step > nStepToDo) { // FillTree(vars); continue; } if (debug) std::cout << ">>> STEP 3 <<<" << std::endl; std::vector<int> itSelJet; double maxPt_jets_selected = SelectJets(itSelJet,*jets,"maxSumPt",-1.,&blacklistJet); int q1 = itSelJet.at(0); int q2 = itSelJet.at(1); ///---- check Pt order ---- if (jets->at(q1).Pt() < jets->at(q2).Pt()) { int tempq = q1; q1 = q2; q2 = tempq; } if (debug) std::cerr << " q1 = " << q1 << " : q2 = " << q2 << std::endl; ///---- update white/black list jets ---- for (int iJet = 0; iJet < nJets; iJet++){ if (q1 == iJet || q2 == iJet) { whitelistJet.at(iJet) = 1; blacklistJet.push_back(iJet); ///===> blacklistJet used for CJV => no 2 tag jets to be considered! blacklistJet_forCJV.push_back(iJet); ///===> blacklistJet used for CJV => no 2 tag jets to be considered! } else { whitelistJet.at(iJet) = 0; } } SetQJetVariables(vars, reader, q1, q2, blacklistJet_forCJV, blacklistJet_forBtag, blacklistJet_forBtag); ///******************************** ///**** STEP 4 - Lepton ID **** ///************* Identification of the two leptons step = 4; if (step > nStepToDo) { FillTree(vars); continue; } if (debug) std::cout << ">>> STEP 4 <<<" << std::endl; std::vector<ROOT::Math::XYZTVector> leptons; std::vector<int> leptonFlavours; std::vector<int> leptonILep; for(unsigned int iEle = 0; iEle < nEles; iEle++){ if (whitelistEle.at(iEle) == 1){ leptons.push_back( reader.Get4V("electrons")->at(iEle) ); leptonFlavours.push_back(11); leptonILep.push_back(iEle); } } for(unsigned int iMu = 0; iMu < nMus; iMu++){ if (whitelistMu.at(iMu) == 1){ leptons.push_back( reader.Get4V("muons")->at(iMu) ); leptonFlavours.push_back(13); leptonILep.push_back(iMu); } } std::vector<int> itSelLep; double maxPt_lept_selected = SelectJets(itSelLep,leptons,"maxSumPt",-1.,0); int l1 = itSelLep.at(0); int l2 = itSelLep.at(1); ///---- check Pt order ---- if (leptons.at(l1).Pt() < leptons.at(l2).Pt()) { int templ = l1; l1 = l2; l2 = templ; } if (debug) std::cerr << " l1 = " << l1 << " : l2 = " << l2 << std::endl; SetLeptonsVariables(vars, reader, leptonILep.at(l1), leptonILep.at(l2),leptonFlavours.at(l1), leptonFlavours.at(l2)); if (debug) std::cerr << ">> Lepton variables set" << std::endl; SetMetVariables(vars, reader, "PFMet", leptonILep.at(l1), leptonILep.at(l2),leptonFlavours.at(l1), leptonFlavours.at(l2)); if (debug) std::cerr << ">> MET variables set" << std::endl; //---- lepton veto std::vector<int> blacklistLepton; blacklistLepton.push_back(l1); blacklistLepton.push_back(l2); vars.Nleptons_pT5 = getNumberPTThreshold(leptons, 5, &blacklistLepton); vars.Nleptons_pT10 = getNumberPTThreshold(leptons, 10, &blacklistLepton); vars.Nleptons_pT15 = getNumberPTThreshold(leptons, 15, &blacklistLepton); vars.Nleptons_pT20 = getNumberPTThreshold(leptons, 20, &blacklistLepton); vars.Nleptons_pT25 = getNumberPTThreshold(leptons, 25, &blacklistLepton); vars.Nleptons_pT30 = getNumberPTThreshold(leptons, 30, &blacklistLepton); if (debug) std::cerr << ">> Lepton multiplicity set" << std::endl; ///********************************* ///**** STEP 5 - Jet Selections **** ///************* Loose selections of tag jets step = 5; if (step > nStepToDo) { FillTree(vars); continue; } if (debug) std::cout << ">>> STEP 5 <<<" << std::endl; ///---- hardcoded fixed preselections ---- VBF (begin) ---- if (vars.q1_pT < 20.) continue; if (vars.q2_pT < 15.) continue; if (vars.M_qq < 0.) continue; if (vars.DEta_qq < 0.) continue; ///---- hardcoded fixed preselections ---- VBF (end) ---- ///==== save trigger variables ==== SetTriggerVariables(vars, reader); ///************************************ ///**** STEP 6 - Final Production ***** ///************************************ ///**** No more selections applied **** step = 6; if (step > nStepToDo) { FillTree(vars); continue; } if (debug) std::cout << ">>> STEP 6 <<<" << std::endl; ///==== if not already filled ... ==== FillTree(vars); ///================================================= } end = clock(); std::cout <<"Time = " << ((double) (end - start)) << " (a.u.)" << std::endl; SaveTree(vars); std::cerr << " === end === " << std::endl; }
int KGSFXModelViewPage::FillTree(HTREEITEM hTreeItem, LPCTSTR szPath, int* pIndex) { int nResult = false; int nRetCode = false; TCHAR szFilePath[MAX_PATH]; sprintf(szFilePath, "%s%s", szPath, TEXT("\\*.*")); CFileFind fileFind; BOOL bWorking = fileFind.FindFile(szFilePath); int index = 0; TCHAR szKey[8]; TCHAR szVal[8]; while (bWorking) { itoa(index, szKey, 10); itoa(*pIndex, szVal, 10); bWorking = fileFind.FindNextFile(); if (fileFind.IsDots()) continue; CString strPath = fileFind.GetFilePath(); CString strName = fileFind.GetFileName(); if (fileFind.IsDirectory()) { if (strName == TEXT(".svn") || strName == TEXT("maps") || strName == TEXT("Texture")) continue; /*if (pMapFile) { if (hTreeItem) { TCHAR szSec[32]; int IndexParent = (int)m_tree.GetItemData(hTreeItem); itoa(IndexParent, szSec, 10); pMapFile->WriteString(szSec, szKey, szVal); pMapFile->WriteString(TEXT("Corr"), szVal, strName.GetBuffer()); pMapFile->WriteString(TEXT("Type"), szVal, TEXT("folder")); } else { pMapFile->WriteString(TEXT("Main"), szKey, szVal); pMapFile->WriteString(TEXT("Corr"), szVal, strName.GetBuffer()); pMapFile->WriteString(TEXT("Type"), szVal, TEXT("folder")); } }*/ HTREEITEM hTree = m_tree.InsertItem(strName.GetBuffer(), hTreeItem); //m_tree.SetItemData(hTree, (DWORD_PTR)(*pIndex)); //(*pIndex)++; FillTree(hTree, strPath.GetBuffer(), pIndex); } else { HTREEITEM hTree; TCHAR szName[MAX_PATH]; strncpy(szName, strName.GetBuffer(), sizeof(szName)); TCHAR* pszExt = strrchr(szName, '.'); if (!pszExt) continue; if (!stricmp(pszExt, TEXT(".mdl"))) hTree = m_tree.InsertItem(szName, 2, 2, hTreeItem); else if (!stricmp(pszExt, TEXT(".mesh"))) hTree = m_tree.InsertItem(szName, 1, 1, hTreeItem); else if (!stricmp(pszExt, TEXT(".sfx"))) hTree = m_tree.InsertItem(szName, 3, 3, hTreeItem); else if (!stricmp(pszExt, TEXT(".bind"))) hTree = m_tree.InsertItem(szName, 4, 4, hTreeItem); else continue; char fileName[MAX_PATH]; g_GetFilePathFromFullPath(fileName, strPath.GetBuffer()); strPath.ReleaseBuffer(); _strlwr(fileName); m_ModelInfo.push_back(ModelInfoPair(fileName, hTree)); //m_tree.SetItemData(hTree, (DWORD_PTR)(*pIndex)); /*if (pMapFile) { if (hTreeItem) { TCHAR szSec[32]; int IndexParent = (int)m_tree.GetItemData(hTreeItem); itoa(IndexParent, szSec, 10); pMapFile->WriteString(szSec, szKey, szVal); pMapFile->WriteString(TEXT("Corr"), szVal, szName); pMapFile->WriteString(TEXT("Type"), szVal, ++pszExt); } else { pMapFile->WriteString(TEXT("Main"), szKey, szVal); pMapFile->WriteString(TEXT("Corr"), szVal, szName); pMapFile->WriteString(TEXT("Type"), szVal, ++pszExt); } }*/ } //index++; //(*pIndex)++; } fileFind.Close(); nResult = true; //Exit0: return nResult; }
//computes kldiv between each pair of actual clusters and adds the min to CCluster::m_vInfo bool InterClustKLD(CCluster& Clusters,vector<KDTreeHist>& vDistribs,vector<int>& vClustIDs,vector<int>& vClustCounts,int iClusts,bool bFast,Neighbor** vnn,int WhichDraw,const CUPDUPDATA* pUp,int iNNToFind,vector<int>& vNCount,vector<float>& vFloat,int iRows,int iCols) { //kldiv cluster to other clusters int iC1 = 0, iC2 = 0, iTot = ((iClusts-1)*(iClusts-1)+iClusts-1)/2, iCurr = 0; try { CString msg; vector< vector<prob_t> > vcInfInter(iClusts+1, vector<prob_t>(iClusts+1)); Write2Log("Calculating inter-cluster KLDiv"); prob_t kldiv = 0.0f; if(Clusters.m_oCQO.m_bFindBestDims) //compute inter-clust kldiv using best dimensions { iTot = iClusts*iClusts; //distances are not symmetrical since use different dimensions for(iC1=1;iC1<=iClusts && !pUp->ShouldTerminate();iC1++) { for(iC2=1;iC2<=iClusts && !pUp->ShouldTerminate();iC2++,iCurr++) { if(iC2==iC1) continue; msg.Format("Calculating kldiv btwn clust %d and %d",iC1,iC2); pUp->SetProgress(msg,100*(iCurr/static_cast<double>(iTot))); Write2Log(msg); KDTreeHist oT; vector<float> vTmpData; //make temporary tree FillTree(vFloat,iRows,iCols,iC2,vClustCounts[iC2],vClustIDs,Clusters.m_vBestDims[iC1],Clusters.m_oCQO.m_iBestDims,oT,vTmpData); vcInfInter[iC1][iC2]=KLDivSym(vDistribs[iC1],oT); Write2Log("sym. kldiv from %d to %d = %.4f",iC1,iC2,vcInfInter[iC1][iC2]); } } } else { for(iC1=1;iC1<=iClusts && !pUp->ShouldTerminate();iC1++) { for(iC2=iC1+1;iC2<=iClusts && !pUp->ShouldTerminate();iC2++,iCurr++) { msg.Format("Calculating kldiv btwn clust %d and %d",iC1,iC2); pUp->SetProgress(msg,100*(iCurr/static_cast<double>(iTot))); Write2Log(msg); if(bFast) vcInfInter[iC1][iC2]=vcInfInter[iC2][iC1]=FastKLDivSymPQ(vDistribs[iC1],vDistribs[iC2],vnn,iC1,iC2,vClustIDs,iNNToFind,vNCount); else vcInfInter[iC1][iC2]=vcInfInter[iC2][iC1]=KLDivSym(vDistribs[iC1],vDistribs[iC2]); Write2Log("sym. kldiv from %d to %d = %.4f",iC1,iC2,vcInfInter[iC1][iC2]); } } } if(!pUp->ShouldTerminate()){ for(iC1=1;iC1<=iClusts;iC1++) { prob_t min_int = iClusts>1 ? INF : 0.0; //*INF; int min_ind = 0; if(iClusts>1) for(iC2=1;iC2<=iClusts;iC2++) { if(iC1==iC2 || vClustCounts[iC2]<2)continue; prob_t tmpK = vcInfInter[iC1][iC2]; if(tmpK<min_int) { min_int=tmpK; min_ind=iC2; } } Clusters.m_vInfo[WhichDraw][iC1].m_fInterClustGain = min_int; Clusters.m_vInfo[WhichDraw][iC1].m_iClosestID = min_ind; Write2Log("Nearest kldiv from clust %d to %d is %.6f",iC1,min_ind,min_int); } CString strTab("\ninter clust kldiv table\n") , strTmp;//write inter-cluster kldiv table to log for inspection... for(iC1=1;iC1<=iClusts;iC1++) { for(iC2=1;iC2<=iClusts;iC2++) { strTmp.Format("%.6f\t",vcInfInter[iC1][iC2]); strTab += strTmp; } strTab += "\n"; } Write2Log(strTab); } } catch(...) { Write2Log("Exception in InterClustKLD!!! iC1=%d iC2=%d iClusts=%d",iC1,iC2,iClusts); return false; } return true; }
/** * One Parameter Constructor */ TestTree(std::string database, std::string query) : db_filename(database), query_filename(query) { CheckFile(); FillTree(); }
void wxAxIdentifyView::Identify(wxGISMapView* pMapView, wxGISGeometry &GeometryBounds) { m_pMapView = pMapView; //if(!m_pMapView)//TODO: add/remove layer map events connection point //{ // wxWindow* pWnd = m_pApp->GetRegisteredWindowByType(wxCLASSINFO(wxGISMapView)); // m_pMapView = dynamic_cast<wxGISMapView*>(pWnd); //} if(!m_pMapView) return; wxBusyCursor wait; wxGISSpatialReference SpaRef = m_pMapView->GetSpatialReference(); double dfWidth(3), dfHeight(3); wxGISAppConfig oConfig = GetConfig(); if(oConfig.IsOk()) { dfWidth = oConfig.ReadDouble(enumGISHKCU, wxString(wxT("wxGISCommon/identify/search_width")), dfWidth); dfHeight = oConfig.ReadDouble(enumGISHKCU, wxString(wxT("wxGISCommon/identify/search_height")), dfHeight); } if(m_pMapView->GetDisplay()) { m_pMapView->GetDisplay()->DC2WorldDist(&dfWidth, &dfHeight); dfWidth = std::fabs(dfWidth); dfHeight = std::fabs(dfHeight); } OGREnvelope Env = GeometryBounds.GetEnvelope(); bool bChanged(false); //if we got a small envelope or it's a point if(Env.MaxX - Env.MinX < dfWidth) { Env.MinX -= dfWidth; Env.MaxX += dfWidth; bChanged = true; } if(Env.MaxY - Env.MinY < dfHeight) { Env.MinY -= dfHeight; Env.MaxY += dfHeight; bChanged = true; } if(bChanged) { GeometryBounds = EnvelopeToGeometry(Env, SpaRef); } OGRPoint *pt = GeometryBounds.GetCentroid(); int nSelection = m_LayerChoice->GetSelection(); wxVector<FILLTREEDATA> data; switch(nSelection) { case 0://get top layer //TODO: check group layer for (size_t i = m_pMapView->GetLayerCount() - 1; i >= 0; --i) { wxGISLayer* const pLayer = m_pMapView->GetLayerByIndex(i); if (NULL == pLayer) { continue; } else if (pLayer->GetType() == enumGISFeatureDataset || pLayer->GetType() == enumGISRasterDataset) { FILLTREEDATA stdata = { pLayer, wxNullSpatialTreeCursor }; data.push_back(stdata); break; } } break; case 1://get all layers //TODO: check group layer for(size_t i = 0; i < m_pMapView->GetLayerCount(); ++i) { wxGISLayer* const pLayer = m_pMapView->GetLayerByIndex(i); if (NULL == pLayer) { continue; } else if (pLayer->GetType() == enumGISFeatureDataset || pLayer->GetType() == enumGISRasterDataset) { FILLTREEDATA stdata = { pLayer, wxNullSpatialTreeCursor }; data.push_back(stdata); } } break; default: return; }; for(size_t i = 0; i < data.size(); ++i) { wxGISEnumDatasetType eType = data[i].pLayer->GetType(); switch(eType) { case enumGISFeatureDataset: { wxGISFeatureLayer* pFLayer = dynamic_cast<wxGISFeatureLayer*>(data[i].pLayer); if(!pFLayer) return; wxGISSpatialTreeCursor Cursor = pFLayer->Idetify(GeometryBounds); wxGISSpatialTreeCursor::const_iterator iter; for(iter = Cursor.begin(); iter != Cursor.end(); ++iter) { wxGISSpatialTreeData *current = *iter; if(current) { //flash on map wxGISGeometry Geom = current->GetGeometry(); if (Geom.IsOk()) { wxGISSymbol* pSymbol = GetDrawSymbol(Geom.GetType()); m_pMapView->AddFlashGeometry(Geom, pSymbol); } } } m_pMapView->StartFlashing(); data[i].Cursor = Cursor; } break; default: break; }; } //fill IdentifyDlg m_pFeatureDetailsPanel->Clear(true); m_pFeatureDetailsPanel->SetClickPositionText(pt); FillTree(data); OGRGeometryFactory::destroyGeometry(pt); }
int CALLBACK CConfig::ContactlistDlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { char buf[128]; switch (uMsg) { case WM_INITDIALOG: { m_bInitializingDialog = true; // Translate the dialog TranslateDialogDefault(hwndDlg); // Initialize the protocol filter list SetWindowLong(GetDlgItem(hwndDlg,IDC_CLIST_PROTOFILTER),GWL_STYLE,GetWindowLong(GetDlgItem(hwndDlg,IDC_CLIST_PROTOFILTER),GWL_STYLE)|TVS_NOHSCROLL); int iRes = 0; HIMAGELIST himlCheckBoxes; himlCheckBoxes=ImageList_Create(GetSystemMetrics(SM_CXSMICON),GetSystemMetrics(SM_CYSMICON),ILC_COLOR32|ILC_MASK,2,2); iRes = ImageList_AddIcon(himlCheckBoxes,LoadIcon(hInstance,MAKEINTRESOURCE(IDI_NOTICK))); iRes = ImageList_AddIcon(himlCheckBoxes,LoadIcon(hInstance,MAKEINTRESOURCE(IDI_TICK))); TreeView_SetImageList(GetDlgItem(hwndDlg,IDC_CLIST_PROTOFILTER),himlCheckBoxes,TVSIL_NORMAL); FillTree(GetDlgItem(hwndDlg,IDC_CLIST_PROTOFILTER),true); CheckDlgButton(hwndDlg, IDC_CLIST_SELECTION, m_abBoolSettings[CLIST_SELECTION] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CLIST_COLUMNS, m_abBoolSettings[CLIST_COLUMNS] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CLIST_HIDEOFFLINE, m_abBoolSettings[CLIST_HIDEOFFLINE] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CLIST_USEIGNORE, m_abBoolSettings[CLIST_USEIGNORE] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CLIST_USEGROUPS, m_abBoolSettings[CLIST_USEGROUPS] ? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CLIST_SHOWPROTO, m_abBoolSettings[CLIST_SHOWPROTO]? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CLIST_DRAWLINES, m_abBoolSettings[CLIST_DRAWLINES]? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CLIST_POSITION, m_abBoolSettings[CLIST_POSITION]? BST_CHECKED : BST_UNCHECKED); CheckDlgButton(hwndDlg, IDC_CLIST_COUNTERS, m_abBoolSettings[CLIST_COUNTERS]? BST_CHECKED : BST_UNCHECKED); if(m_aiIntSettings[CLIST_GA] == CLIST_GA_NONE) CheckDlgButton(hwndDlg, IDC_CLIST_GA_NONE, BST_CHECKED); else if(m_aiIntSettings[CLIST_GA] == CLIST_GA_COLLAPSE) CheckDlgButton(hwndDlg, IDC_CLIST_GA_COLLAPSE, BST_CHECKED); else CheckDlgButton(hwndDlg, IDC_CLIST_GA_EXPAND, BST_CHECKED); m_bInitializingDialog = false; break; } case WM_NOTIFY: { if(((LPNMHDR)lParam)->idFrom == IDC_CLIST_PROTOFILTER) { if(((LPNMHDR)lParam)->code != NM_CLICK) return 0; TVHITTESTINFO hti; hti.pt.x=(short)LOWORD(GetMessagePos()); hti.pt.y=(short)HIWORD(GetMessagePos()); ScreenToClient(((LPNMHDR)lParam)->hwndFrom,&hti.pt); if(TreeView_HitTest(((LPNMHDR)lParam)->hwndFrom,&hti)) if(hti.flags&TVHT_ONITEMICON) { TVITEM tvi; tvi.mask=TVIF_HANDLE|TVIF_IMAGE|TVIF_SELECTEDIMAGE; tvi.hItem=hti.hItem; TreeView_GetItem(((LPNMHDR)lParam)->hwndFrom,&tvi); tvi.iImage=tvi.iSelectedImage=!tvi.iImage; ((CProtoFilter *)tvi.lParam)->bTempContactlistFilter=tvi.iImage; TreeView_SetItem(((LPNMHDR)lParam)->hwndFrom,&tvi); SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); } break; } switch (((LPNMHDR)lParam)->code) { case PSN_APPLY: { m_abBoolSettings[CLIST_SELECTION] = IsDlgButtonChecked(hwndDlg,IDC_CLIST_SELECTION) == BST_CHECKED ? true : false; m_abBoolSettings[CLIST_COLUMNS] = IsDlgButtonChecked(hwndDlg,IDC_CLIST_COLUMNS) == BST_CHECKED ? true : false; m_abBoolSettings[CLIST_HIDEOFFLINE] = IsDlgButtonChecked(hwndDlg,IDC_CLIST_HIDEOFFLINE) == BST_CHECKED ? true : false; m_abBoolSettings[CLIST_USEGROUPS] = IsDlgButtonChecked(hwndDlg,IDC_CLIST_USEGROUPS) == BST_CHECKED ? true : false; m_abBoolSettings[CLIST_USEIGNORE] = IsDlgButtonChecked(hwndDlg,IDC_CLIST_USEIGNORE) == BST_CHECKED ? true : false; m_abBoolSettings[CLIST_SHOWPROTO] = IsDlgButtonChecked(hwndDlg,IDC_CLIST_SHOWPROTO) == BST_CHECKED ? true : false; m_abBoolSettings[CLIST_DRAWLINES] = IsDlgButtonChecked(hwndDlg,IDC_CLIST_DRAWLINES) == BST_CHECKED ? true : false; m_abBoolSettings[CLIST_POSITION] = IsDlgButtonChecked(hwndDlg,IDC_CLIST_POSITION) == BST_CHECKED ? true : false; m_abBoolSettings[CLIST_COUNTERS] = IsDlgButtonChecked(hwndDlg,IDC_CLIST_COUNTERS) == BST_CHECKED ? true : false; if(IsDlgButtonChecked(hwndDlg,IDC_CLIST_GA_NONE) == BST_CHECKED) m_aiIntSettings[CLIST_GA] = CLIST_GA_NONE; else if(IsDlgButtonChecked(hwndDlg,IDC_CLIST_GA_COLLAPSE) == BST_CHECKED) m_aiIntSettings[CLIST_GA] = CLIST_GA_COLLAPSE; else m_aiIntSettings[CLIST_GA] = CLIST_GA_EXPAND; // apply all contactlist protocol filters vector<CProtoFilter*>::iterator iter = m_ProtoList.begin(); while(iter != m_ProtoList.end()) { (*iter)->bContactlistFilter = (*iter)->bTempContactlistFilter; iter++; } CConfig::SaveSettings(); SendMessage(hwndDlg, WM_INITDIALOG, 0, 0); break; } } break; } case WM_COMMAND: { // Activate the apply button if (!m_bInitializingDialog && ((HIWORD(wParam) == EN_CHANGE) || (HIWORD(wParam) == BN_CLICKED))) SendMessage(GetParent(hwndDlg), PSM_CHANGED, 0, 0); break; } } return 0; }