ConvertTours::ConvertTours (void) : Demand_Service () { Program ("ConvertTours"); Version ("4.0.15"); Title ("Tour Data Conversion Utility"); Network_File required_network [] = { ACTIVITY_LOCATION, PROCESS_LINK, END_NETWORK }; Network_File optional_network [] = { DIRECTORY, LINK, ZONE, END_NETWORK }; Demand_File required_demand [] = { NEW_TRIP, NEW_HOUSEHOLD, NEW_POPULATION, NEW_VEHICLE, END_DEMAND }; Demand_File optional_demand [] = { TRIP, HOUSEHOLD, POPULATION, VEHICLE, VEHICLE_TYPE, END_DEMAND }; char *keys [] = { TOUR_DATA_FILE, TOUR_DATA_FORMAT, TOUR_HOUSEHOLD_FIELD, TOUR_PERSON_FIELD, TOUR_NUMBER_FIELD, TOUR_PURPOSE_FIELD, TOUR_MODE_FIELD, TOUR_ORIGIN_FIELD, TOUR_DESTINATION_FIELD, TOUR_STOP_OUT_FIELD, TOUR_STOP_IN_FIELD, TOUR_START_FIELD, TOUR_RETURN_FIELD, TOUR_GROUP_FIELD, TOUR_GROUP_SCRIPT, HOUSEHOLD_LIST, STARTING_HOUSEHOLD_ID, STARTING_VEHICLE_ID, TIME_OF_DAY_FORMAT, ADDITIONAL_TRAVEL_TIME, ZONE_LOCATION_MAP_FILE, RANDOM_NUMBER_SEED, ZONE_EQUIVALENCE_FILE, TRAVEL_TIME_FILE, NEW_DIURNAL_FILE, TRIP_TIME_FILE_x, TRIP_TIME_FORMAT_x, TRIP_TIME_FIELD_x, TIME_PERIOD_RANGE_x, TIME_CONTROL_POINT_x, ORIGIN_WEIGHT_FIELD_x, DESTINATION_WEIGHT_FIELD_x, DISTANCE_WEIGHT_FLAG_x, STOP_WEIGHT_FIELD_x, TRIP_PURPOSE_CODE_x, TRAVEL_MODE_CODE_x, TRIP_STOP_DURATION_x, AVERAGE_TRAVEL_SPEED_x, VEHICLE_TYPE_x, VEHICLE_SUBTYPE_x, TRIP_SCALING_FACTOR_x, TRIP_ADJUSTMENT_FACTORS_x, TRIP_ADJUSTMENT_FORMAT_x, TIME_PERIOD_EQUIVALENCE_x, NULL }; char *reports [] = { "TOUR_GROUP_SCRIPT", "TOUR_GROUP_STACK", "PRINT_ZONE_EQUIVALENCIES", "TIME_PERIOD_EQUIVALENCE", NULL }; Required_Network_Files (required_network); Optional_Network_Files (optional_network); Required_Demand_Files (required_demand); Optional_Demand_Files (optional_demand); Key_List (keys); Report_List (reports); equiv_flag = skim_flag = zone_flag = script_flag = diurnal_flag = zone_loc_flag = hhlist_flag = false; num_zone = 0; additional_time = 600; num_trip = tot_trips = tot_errors = nhhold = nperson = 0; tot_add = tot_del = 0.0; skim_ptr = NULL; trip_copy = hhold_copy = pop_copy = veh_copy = 0; max_hh_in = max_veh_in = max_hhlist = 0; location_array = (Location_Array *) new Convert_Location_Array (); }
/** First master performs all necessary setup, then sends info to all children. */ int Traj_AmberCoord::parallelSetupTrajout(FileName const& fname, Topology* trajParm, CoordinateInfo const& cInfoIn, int NframesToWrite, bool append, Parallel::Comm const& commIn) { int err = 0; // In parallel MUST know # of frames to write in order to correctly set size if (NframesToWrite < 1) { mprinterr("Error: # frames to write must be known for Amber Coords output in parallel.\n"); err = 1; } else if (commIn.Master()) { // NOTE: This writes the title. err = setupTrajout(fname, trajParm, cInfoIn, NframesToWrite, append); // NOTE: setupTrajout leaves file open. Should this change? file_.CloseFile(); } commIn.MasterBcast(&err, 1, MPI_INT); if (err != 0) return 1; // Synchronize info on non-master threads. SyncTrajIO( commIn ); // TODO For simplicity convert everything to double. Is this just lazy? double tmpArray[10]; if (commIn.Master()) { tmpArray[0] = (double)natom3_; tmpArray[1] = (double)headerSize_; tmpArray[2] = (double)tStart_; tmpArray[3] = (double)tEnd_; tmpArray[4] = (double)numBoxCoords_; tmpArray[5] = boxAngle_[0]; tmpArray[6] = boxAngle_[1]; tmpArray[7] = boxAngle_[2]; tmpArray[8] = (double)writeType_; tmpArray[9] = (double)highPrecision_; commIn.MasterBcast(tmpArray, 10, MPI_DOUBLE); } else { commIn.MasterBcast(tmpArray, 10, MPI_DOUBLE); natom3_ = (int)tmpArray[0]; headerSize_ = (size_t)tmpArray[1]; tStart_ = (size_t)tmpArray[2]; tEnd_ = (size_t)tmpArray[3]; numBoxCoords_ = (int)tmpArray[4]; boxAngle_[0] = tmpArray[5]; boxAngle_[1] = tmpArray[6]; boxAngle_[2] = tmpArray[7]; writeType_ = (WriteType)tmpArray[8]; highPrecision_ = (bool)tmpArray[9]; if (append) file_.SetupAppend( fname, debug_ ); else file_.SetupWrite( fname, debug_ ); if (highPrecision_) outfmt_ = "%8.6f"; } // For parallel output we will need to seek. Set up the buffer again with correct offsets. // Figure out the size of the written title. unsigned int titleSize = (unsigned int)Title().size() + 1; // +1 for newline titleSize = std::min(81U, titleSize); file_.SetupFrameBuffer( natom3_, 8, 10, headerSize_, titleSize ); file_.ResizeBuffer( numBoxCoords_ ); if (debug_>0) rprintf("'%s'(Parallel): Each frame has %lu bytes.\n", file_.Filename().base(), file_.FrameSize()); // TODO set file size return 0; }
void DlgSqlExport::Run(Sql& cursor, String command, String tablename) { Title(Nvl(tablename, t_("SQL query")) + t_(" export")); object_name <<= tablename; if(!cursor.Execute(command)) { Exclamation(NFormat(t_("Error executing [* \1%s\1]: \1%s"), command, cursor.GetLastError())); return; } for(int i = 0; i < cursor.GetColumns(); i++) { const SqlColumnInfo& sci = cursor.GetColumnInfo(i); String type; switch(sci.valuetype) { case BOOL_V: case INT_V: type = t_("integer"); break; case DOUBLE_V: type = t_("real number"); break; case STRING_V: case WSTRING_V: type = t_("string"); break; case DATE_V: type = t_("date"); break; case TIME_V: type = t_("date/time"); break; case /*ORA_BLOB_V*/-1: type = t_("BLOB"); break; case /*ORA_CLOB_V*/-2: type = t_("CLOB"); break; default: type = FormatInt(sci.valuetype); break; } columns.Add(sci.name, sci.valuetype, sci.width, 1); } static String cfg; LoadFromString(*this, cfg); SyncUI(); while(TopWindow::Run() == IDOK) try { String out_table = ~object_name; String delim; switch((int)~delimiters) { case DELIM_TAB: delim = "\t"; break; case DELIM_SEMICOLON: delim = ";"; break; } Vector<int> out; String colstr; String title; for(int i = 0; i < columns.GetCount(); i++) if(columns.Get(i, 3)) { out.Add(i); String cname = cursor.GetColumnInfo(i).name; colstr << (i ? ", " : "") << cname; if(i) title << delim; title << cname; } if(out.IsEmpty()) { throw Exc(t_("No columns selected!")); continue; } String rowbegin, rowend; int fmt = ~format; FileSel fsel; String ext; switch(fmt) { case FMT_TEXT: { rowend = ""; ext = ".txt"; fsel.Type(t_("Text files (*.txt)"), "*.txt"); break; } case FMT_SQL: { if(identity_insert) rowbegin << "set identity_insert " << out_table << " on "; rowbegin << "insert into " << out_table << "(" << colstr << ") values ("; rowend = ");"; ext = ".sql"; fsel.Type(t_("SQL scripts (*.sql)"), "*.sql"); break; } } fsel.AllFilesType().DefaultExt(ext.Mid(1)); if(!IsNull(recent_file)) fsel <<= ForceExt(recent_file, ext); if(!fsel.ExecuteSaveAs(t_("Save export as"))) continue; recent_file = ~fsel; FileOut fo; if(!fo.Open(recent_file)) { Exclamation(NFormat(t_("Error creating file [* \1%s\1]."), recent_file)); continue; } if(fmt == FMT_TEXT) fo.PutLine(title); Progress progress(t_("Exporting row %d")); while(cursor.Fetch()) { String script = rowbegin; for(int i = 0; i < out.GetCount(); i++) { Value v = cursor[out[i]]; switch(fmt) { case FMT_TEXT: { if(i) script.Cat(delim); if(IsString(v) && quote) { String s = v; script << '\"'; for(const char *p = s, *e = s.End(); p < e; p++) if(*p == '\"') script.Cat("\"\""); else script.Cat(*p); script << '\"'; } else script << StdFormat(v); break; } case FMT_SQL: { if(i) script.Cat(", "); // script << SqlCompile(SQLD_ORACLE, SqlFormat(v)); break; } } } script << rowend; fo.PutLine(script); /* if(autocommit && --left <= 0) { fo.PutLine("commit;"); left = autocommit; } */ if(progress.StepCanceled()) { Exclamation(t_("Export aborted!")); return; } } fo.Close(); if(fo.IsError()) throw Exc(NFormat(t_("Error writing file %s."), recent_file)); break; } catch(Exc e) { ShowExc(e); } cfg = StoreAsString(*this); }
ACTID_COUNT }; #define Title(t) { NM_TITLE, t, NULL, 0, 0, NULL } #define Item(t,s,i) { NM_ITEM, t, s, 0, 0, (APTR)i } #define ItemBar { NM_ITEM, NM_BARLABEL, NULL, 0, 0, NULL } #define SubItem(t,s,i) { NM_SUB, t, s, 0, 0, (APTR)i } #define SubBar { NM_SUB, NM_BARLABEL, NULL, 0, 0, NULL } #define EndMenu { NM_END, NULL, NULL, 0, 0, NULL } #define ItCk(t,s,i,f) { NM_ITEM, t, s, f, 0, (APTR)i } struct Library *MUIMasterBase = NULL; static struct NewMenu Menus[] = { Title( NULL /* Project */ ), Item( NULL /* Open... */, NULL, ACTID_OPEN ), Item( NULL /* Save As... */, NULL, ACTID_SAVEAS ), ItemBar, Item( NULL /* About... */, NULL, ACTID_ABOUT ), ItemBar, Item( NULL /* Quit */, NULL, ACTID_QUIT ), Title( NULL /* Edit */ ), Item( NULL /* Reset To Defaults */, NULL, ACTID_DEFAULT ), Item( NULL /* Last Saved */, NULL, ACTID_LASTSAVED ), Item( NULL /* Restore */, NULL, ACTID_RESTORE ), Title( NULL /* Settings */ ), ItCk( NULL /* Create Icons? */, NULL, ACTID_ICONS, CHECKIT|MENUTOGGLE ), Title( NULL /* Help */ ), ItCk( NULL /* Help... */, NULL, ACTID_HELP, COMMSEQ), ItemBar,
cString cEvent::ToDescr(void) const { char vpsbuf[64] = ""; if (Vps()) sprintf(vpsbuf, "(VPS: %s) ", *GetVpsString()); return cString::sprintf("%s %s-%s %s'%s'", *GetDateString(), *GetTimeString(), *GetEndTimeString(), vpsbuf, Title()); }
const char* BaseJob::Name() const { return Title().String(); }
/* * main */ int main(int argc, char *argv[]) { #ifdef _NDSTOOL_P_H if (sizeof(Header) != 0x200) { fprintf(stderr, "Header size %d != %d\n", sizeof(Header), 0x200); return 1; } #endif if (argc < 2) { Help(); return 0; } int num_actions = 0; int actions[MAX_ACTIONS]; /* * parse parameters to actions */ for (int a=1; a<argc; a++) { if (argv[a][0] == '-') { switch (argv[a][1]) { case 'i': // show information { ADDACTION(ACTION_SHOWINFO); OPTIONAL(ndsfilename); break; } case 'f': // fix header CRC { ADDACTION(ACTION_FIXHEADERCRC); OPTIONAL(ndsfilename); break; } case 's': // en-/decrypt secure area { ADDACTION(ACTION_ENCRYPTSECUREAREA); endecrypt_option = argv[a][2]; OPTIONAL(ndsfilename); break; } case 'l': // list files { ADDACTION(ACTION_LISTFILES); OPTIONAL(ndsfilename); break; } case 'x': // extract { ADDACTION(ACTION_EXTRACT); OPTIONAL(ndsfilename); break; } case 'w': // wildcard filemasks { while (1) { char *filemask = 0; OPTIONAL(filemask); if (!(filemasks[filemask_num] = filemask)) break; if (++filemask_num >= MAX_FILEMASKS) return 1; } break; } case 'c': // create { ADDACTION(ACTION_CREATE); OPTIONAL(ndsfilename); break; } // file root directory case 'd': REQUIRED(filerootdir); break; // ARM7 filename case '7': if (argv[a][2] == 'i') { REQUIRED(arm7ifilename); } else { REQUIRED(arm7filename); } break; // ARM9 filename case '9': if (argv[a][2] == 'i') { REQUIRED(arm9ifilename); } else { REQUIRED(arm9filename); } break; // hook ARM7 executable case 'k': { ADDACTION(ACTION_HOOK); OPTIONAL(ndsfilename); break; } case 't': REQUIRED(bannerfilename); bannertype = BANNER_BINARY; break; case 'b': bannertype = BANNER_IMAGE; REQUIRED(bannerfilename); REQUIRED(bannertext); break; case 'o': REQUIRED(logofilename); break; case 'h': // load header or header size REQUIRED(headerfilename_or_size); break; /*case 'u': // unique ID file REQUIRED(uniquefilename); break;*/ case 'u': // DSi title ID high word if (argc > a) titleidHigh = strtoul(argv[++a], 0, 16); break; case 'z': // SCFG access flags if (argc > a) scfgExtMask = strtoul(argv[++a], 0, 16); break; case 'a': // DSi access control flags if (argc > a) accessControl = strtoul(argv[++a], 0, 16); break; case 'p': // DSi application flags if (argc > a) appFlags = strtoul(argv[++a], 0, 16) & 0xFF; break; case 'v': // verbose for (char *p=argv[a]; *p; p++) if (*p == 'v') verbose++; OPTIONAL(romlistfilename); break; case 'n': // latency //compatibility = true; OPTIONAL_INT(latency1); OPTIONAL_INT(latency2); break; case 'r': // RAM address switch (argv[a][2]) { case '7': arm7RamAddress = (argc > a) ? strtoul(argv[++a], 0, 0) : 0; break; case '9': arm9RamAddress = (argc > a) ? strtoul(argv[++a], 0, 0) : 0; break; default: Help(argv[a]); return 1; } break; case 'e': // entry point switch (argv[a][2]) { case '7': arm7Entry = (argc > a) ? strtoul(argv[++a], 0, 0) : 0; break; case '9': arm9Entry = (argc > a) ? strtoul(argv[++a], 0, 0) : 0; break; default: Help(argv[a]); return 1; } break; case 'm': // maker code REQUIRED(makercode); break; case 'g': // game code REQUIRED(gamecode); OPTIONAL(makercode); OPTIONAL(title); OPTIONAL_INT(romversion); break; case 'y': // overlay table file / directory switch (argv[a][2]) { case '7': REQUIRED(arm7ovltablefilename); break; case '9': REQUIRED(arm9ovltablefilename); break; case 0: REQUIRED(overlaydir); break; default: Help(argv[a]); return 1; } break; case '?': // global or specific help { Help(argv[a][2] ? argv[a]+2 : 0); // 0=global help return 0; // do not perform any other actions } default: { Help(argv[a]); return 1; } } } else { //Help(); if (ndsfilename) { fprintf(stderr, "NDS filename is already given!\n"); return 1; } ndsfilename = argv[a]; break; } } Title(); /* * sanity checks */ if (gamecode) { if (strlen(gamecode) != 4) { fprintf(stderr, "Game code must be 4 characters!\n"); return 1; } for (int i=0; i<4; i++) if ((gamecode[i] >= 'a') && (gamecode[i] <= 'z')) { fprintf(stderr, "Warning: Gamecode contains lowercase characters.\n"); break; } if (gamecode[0] == 'A') { fprintf(stderr, "Warning: Gamecode starts with 'A', which might be used for another commercial product.\n"); } } if (makercode && (strlen(makercode) != 2)) { fprintf(stderr, "Maker code must be 2 characters!\n"); return 1; } if (title && (strlen(title) > 12)) { fprintf(stderr, "Title can be no more than 12 characters!\n"); return 1; } if (romversion > 255) { fprintf(stderr, "romversion can only be 0 - 255!\n"); return 1; } /* * perform actions */ int status = 0; for (int i=0; i<num_actions; i++) { //printf("action %d\n", actions[i]); switch (actions[i]) { case ACTION_SHOWINFO: ShowInfo(ndsfilename); break; case ACTION_FIXHEADERCRC: FixHeaderCRC(ndsfilename); break; case ACTION_EXTRACT: fNDS = fopen(ndsfilename, "rb"); if (!fNDS) { fprintf(stderr, "Cannot open file '%s'.\n", ndsfilename); exit(1); } fread(&header, 512, 1, fNDS); fclose(fNDS); printf("9i %s, 7i %s, unitcode %x\n",arm9ifilename,arm7ifilename, header.unitcode); if (arm9filename) Extract(arm9filename, true, 0x20, true, 0x2C, true); if (arm7filename) Extract(arm7filename, true, 0x30, true, 0x3C); if (header.unitcode & 2) { if (arm9ifilename) Extract(arm9ifilename, true, 0x1C0, true, 0x1CC, true); if (arm7ifilename) Extract(arm7ifilename, true, 0x1D0, true, 0x1DC); } if (bannerfilename) Extract(bannerfilename, true, 0x68, false, 0x840); if (headerfilename_or_size) Extract(headerfilename_or_size, false, 0x0, false, 0x200); if (logofilename) Extract(logofilename, false, 0xC0, false, 156); // *** bin only if (arm9ovltablefilename) Extract(arm9ovltablefilename, true, 0x50, true, 0x54); if (arm7ovltablefilename) Extract(arm7ovltablefilename, true, 0x58, true, 0x5C); if (overlaydir) ExtractOverlayFiles(); if (filerootdir) ExtractFiles(ndsfilename); break; case ACTION_CREATE: Create(); break; case ACTION_LISTFILES: filerootdir = 0; /*status =*/ ExtractFiles(ndsfilename); break; case ACTION_HOOK: { Hook(ndsfilename, arm7filename); break; } case ACTION_ENCRYPTSECUREAREA: { /*status =*/ EnDecryptSecureArea(ndsfilename, endecrypt_option); break; } } } return (status < 0) ? 1 : 0; }
SubareaPlans::SubareaPlans (void) : Demand_Service () { Program ("SubareaPlans"); Version ("4.0.33"); Title ("Subarea Plan and Vehicle Files"); Network_File required_network [] = { NODE, LINK, ACTIVITY_LOCATION, PARKING, PROCESS_LINK, END_NETWORK }; Network_File optional_network [] = { DIRECTORY, LANE_CONNECTIVITY, NEW_DIRECTORY, NEW_ACTIVITY_LOCATION, NEW_PARKING, NEW_PROCESS_LINK, TRANSIT_STOP, TRANSIT_ROUTE, TRANSIT_SCHEDULE, TRANSIT_DRIVER, NEW_TRANSIT_STOP, NEW_TRANSIT_ROUTE, NEW_TRANSIT_SCHEDULE, NEW_TRANSIT_DRIVER, END_NETWORK }; Demand_File required_demand [] = { VEHICLE, NEW_VEHICLE, END_DEMAND }; Demand_File optional_demand [] = { LINK_DELAY, NEW_BOUNDARY_SPEED, END_DEMAND }; char *keys [] = { PLAN_FILE, PLAN_FORMAT, NODE_LIST_PATHS, SUBAREA_BOUNDARY_POLYGON, EXTERNAL_OFFSET_LENGTH, NEW_PLAN_FILE, NEW_PLAN_FORMAT, NEW_HOUSEHOLD_LIST, RETIME_EARLY_ARRIVALS, ZONE_EQUIVALENCE_FILE, TIME_PERIOD_EQUIVALENCE, SELECT_TIME_PERIODS, NULL }; char *reports [] = { "TRIP_SUMMARY_REPORT", "PRINT_ZONE_EQUIVALENCIES", "TIME_PERIOD_EQUIVALENCE", NULL }; Required_Network_Files (required_network); Optional_Network_Files (optional_network); Required_Demand_Files (required_demand); Optional_Demand_Files (optional_demand); Key_List (keys); Report_List (reports); Enable_Partitions (true); AB_Key_Flag (true); trips = NULL; type_flag = true; transit_flag = output_flag = range_flag = false; delay_flag = location_flag = parking_flag = access_flag = extend_flag = early_flag = false; trip_flag = zone_flag = time_flag = turn_flag = hhlist_flag = boundary_flag = false; nlink = nshort = nlocation = nparking = naccess = num_adjust = total_adjust = 0; max_location = max_parking = max_access = max_vehicle = max_zone = 0; num_in_in = num_out_in = num_in_out = num_out_out = 0; leg_in_in = leg_out_in = leg_in_out = leg_out_out = 0; max_stop = max_route = 0; new_stop = new_route = 0; nstop = nroute = nschedule = ndriver = 0; current_traveler = current_trip = current_leg = boarding_stop = last_location = last_time = 0; external_offset = Round (15); //---- 15 meters ---- boundary.Data_Size (sizeof (Boundary)); Compress_Vehicles (false); }
void fitEfficiency(float thres, float mLow=45, float mHigh=70, TString cutdef="pt_HLT>=20", TString cut_choice="HLT", TString dirIn="/data_CMS/cms/ndaci/ndaci_2012/HTauTau/TriggerStudy/SingleMu/MuMu/Run2012A_PRV1/Pairs/", TString dirResults="/home//llr/cms/ndaci/SKWork/macro/HTauTau/results/TriggerStudies/MuMu/Run2012A_PRV1/", TString lumi="200 pb", int nCPU=4, int color1=kBlack, int style1=kFullCircle, int color2=kRed, int style2=kOpenSquare, TString fileIn="*.root", TString image="eff_HLT_MuTau") { // STYLE // gROOT->Reset(); loadPresentationStyle(); gROOT->ForceStyle(); // OUTPUT // TString name_image = dirResults+"/"+image; ofstream fichier(name_image+".txt", ios::out); // BINNING // const int nbinsEB = 14; Double_t binsEB[nbinsEB] = {10., 14., 18., 20., 22., 26., 30., 40., 50., 60., 70., 80, 90, 100}; RooBinning binningEB = RooBinning(nbinsEB-1, binsEB, "binningEB"); const int nbinsEE = 14; Double_t binsEE[nbinsEE] = {10., 14., 18., 20., 22., 26., 30., 40., 50., 60., 70., 80, 90, 100}; RooBinning binningEE = RooBinning(nbinsEE-1, binsEE, "binningEE"); // EB/EE eta cuts // TString etacutEB="eta>-1.479 && eta<1.479", etacutEE="eta<=-1.479 || eta>=1.479"; TString cutdefEB, cutdefEE; if(cutdef=="") { cutdefEB=etacutEB; cutdefEE=etacutEE; } else { cutdefEB=cutdef+" && "+etacutEB ; cutdefEB=cutdef+" && "+etacutEE ; } // INPUT DATA // TChain* treeTnP = new TChain("treeTnP"); treeTnP->Add(dirIn+"/"+fileIn); RooRealVar xaxis("pt","P_{T} [GeV]",0,150) ; RooRealVar mass("mass","mass",mLow,mHigh) ;// consider only this mass range when importing data RooRealVar eta("eta","eta",-3., 3) ; RooRealVar weight("weight","weight",-1,1000) ; RooRealVar pt_HLT_tag("pt_HLT_tag","P_{T} [GeV]",0,150) ; RooRealVar pt_HLT_tag_sanity("pt_HLT_tag_sanity","P_{T} [GeV]",0,150) ; RooRealVar pt_L3("pt_L3","P_{T} [GeV]",0,150) ; RooRealVar pt_L25("pt_L25","P_{T} [GeV]",0,150) ; RooRealVar pt_L2("pt_L2","P_{T} [GeV]",0,150) ; RooRealVar et_L1jet("et_L1_jet","P_{T} [GeV]",0,150) ; RooRealVar et_L1tau("et_L1_tau","P_{T} [GeV]",0,150) ; // DEFINE EFFICIENCY CUT // RooCategory cutHLT("match","") ; cutHLT.defineType("accept",1) ; cutHLT.defineType("reject",0) ; RooCategory cutL1("L1match","") ; cutL1.defineType("accept",1) ; cutL1.defineType("reject",0) ; RooCategory cutL1L2("L1L2match","") ; cutL1L2.defineType("accept",1) ; cutL1L2.defineType("reject",0) ; RooCategory cutL1L2L25("L1L2L25match","") ; cutL1L2L25.defineType("accept",1) ; cutL1L2L25.defineType("reject",0) ; RooCategory cutL1L2L25L3("L1L2L25L3match","") ; cutL1L2L25L3.defineType("accept",1) ; cutL1L2L25L3.defineType("reject",0) ; RooCategory *cut; if(cut_choice=="HLT") cut = &cutHLT; if(cut_choice=="L1") cut = &cutL1; if(cut_choice=="L1L2") cut = &cutL1L2; if(cut_choice=="L1L2L25") cut = &cutL1L2L25; if(cut_choice=="L1L2L25L3") cut = &cutL1L2L25L3; RooDataSet dataSetEB("data","data from tree", RooArgSet(xaxis, *cut, pt_HLT_tag, pt_L3, pt_L25, pt_L2, mass, weight, eta), WeightVar(weight), Import(*treeTnP), Cut(cutdefEB) ); RooDataSet dataSetEE("data","data from tree", RooArgSet(xaxis, *cut, pt_HLT_tag, pt_L3, pt_L25, pt_L2, mass, weight, eta), WeightVar(weight), Import(*treeTnP), Cut(cutdefEE) ); dataSetEB.Print(); dataSetEE.Print(); // PLOT // RooPlot* frame = xaxis.frame(Bins(18000),Title("Fitted efficiency")) ; dataSetEB.plotOn(frame, Binning(binningEB), Efficiency(*cut), MarkerColor(color1), LineColor(color1), MarkerStyle(style1) ); dataSetEE.plotOn(frame, Binning(binningEE), Efficiency(*cut), MarkerColor(color2), LineColor(color2), MarkerStyle(style2) ); // PARAMETRES ROOFIT CRYSTAL BALL // RooRealVar norm("norm","N",0.95,0.6,1); RooRealVar alpha("alpha","#alpha",0.2,0.01,8); RooRealVar n("n","n",2,1.1,35); RooRealVar mean("mean","mean",10,5,30); mean.setVal(thres); RooRealVar sigma("sigma","#sigma",0.23,0.01,5); RooRealVar pedestal("pedestal","pedestal",0.01,0,0.4); FuncCB cb_EB("cb_EB","Fit function EB (cb)",xaxis,mean,sigma,alpha,n,norm) ; FuncCB cb_EE("cb_EE","Fit function EE (cb)",xaxis,mean,sigma,alpha,n,norm) ; RooEfficiency eff_EB("eff_EB","efficiency EB", cb_EB, *cut, "accept"); RooEfficiency eff_EE("eff_EE","efficiency EE", cb_EE, *cut, "accept"); // FIT // double fit_cuts_min = thres-1.5 ; double fit_cuts_max = 150; xaxis.setRange("interesting",fit_cuts_min,fit_cuts_max); fichier << "Fit characteristics :" << endl << "Threshold : " << thres << endl << "Fit Range : [" << fit_cuts_min << "," << fit_cuts_max << "]" << endl << endl << endl; RooFitResult* roofitres_EB = new RooFitResult("roofitres_EB","roofitres_EB"); RooFitResult* roofitres_EE = new RooFitResult("roofitres_EE","roofitres_EE"); // Fit #1 // roofitres_EB = eff_EB.fitTo(dataSetEB,ConditionalObservables(xaxis),Range("interesting"),Minos(kTRUE),Warnings(kFALSE),NumCPU(nCPU),Save(kTRUE),SumW2Error(kTRUE)); cb_EB.plotOn(frame,LineColor(color1),LineWidth(2)); fichier << "<----------------- EB ----------------->" << endl << "double res_mean=" << mean.getVal() << "; " << "double res_sigma=" << sigma.getVal() << "; " << "double res_alpha=" << alpha.getVal() << "; " << "double res_n=" << n.getVal() << "; " << "double res_norm=" << norm.getVal() << "; " << endl << "double err_mean=" << mean.getError() << "; " << "double err_sigma=" << sigma.getError() << "; " << "double err_alpha=" << alpha.getError() << "; " << "double err_n=" << n.getError() << "; " << "double err_norm=" << norm.getErrorLo()<< "; " << endl; // Fit #2 // roofitres_EE = eff_EE.fitTo(dataSetEE,ConditionalObservables(xaxis),Range("interesting"),Minos(kTRUE),Warnings(kFALSE),NumCPU(nCPU),Save(kTRUE),SumW2Error(kTRUE)); cb_EE.plotOn(frame,LineColor(color2),LineWidth(2)); fichier << "<----------------- EE ----------------->" << endl << "double res_mean=" << mean.getVal() << "; " << "double res_sigma=" << sigma.getVal() << "; " << "double res_alpha=" << alpha.getVal() << "; " << "double res_n=" << n.getVal() << "; " << "double res_norm=" << norm.getVal() << "; " << endl << "double err_mean=" << mean.getError() << "; " << "double err_sigma=" << sigma.getError() << "; " << "double err_alpha=" << alpha.getError() << "; " << "double err_n=" << n.getError() << "; " << "double err_norm=" << norm.getErrorLo()<< "; " << endl; //////////////////////////// DRAWING PLOTS AND LEGENDS ///////////////////////////////// TCanvas* ca = new TCanvas("ca","Trigger Efficiency") ; ca->SetGridx(); ca->SetGridy(); ca->cd(); //gPad->SetLogx(); gPad->SetObjectStat(1); frame->GetYaxis()->SetRangeUser(0,1.05); frame->GetXaxis()->SetRangeUser(1,150.); frame->GetYaxis()->SetTitle("Efficiency"); frame->GetXaxis()->SetTitle("E_{T} [GeV]"); frame->Draw() ; TH1F *SCeta_EB = new TH1F("SCeta_EB","SCeta_EB",50,-2.5,2.5); TH1F *SCeta_EE = new TH1F("SCeta_EE","SCeta_EE",50,-2.5,2.5); SCeta_EB->SetLineColor(color1) ; SCeta_EB->SetMarkerColor(color1); SCeta_EB->SetMarkerStyle(style1); SCeta_EE->SetLineColor(color2) ; SCeta_EE->SetMarkerColor(color2); SCeta_EE->SetMarkerStyle(style2); TLegend *leg = new TLegend(0.40, 0.14, 0.63, 0.34, NULL, "brNDC"); leg->SetLineColor(1); leg->SetTextColor(1); leg->SetTextFont(42); leg->SetTextSize(0.0244755); leg->SetShadowColor(kWhite); leg->SetFillColor(kWhite); leg->AddEntry("NULL","e #tau electrons efficiency","h"); // entry->SetLineColor(1); // entry->SetLineStyle(1); // entry->SetLineWidth(1); // entry->SetMarkerColor(1); // entry->SetMarkerStyle(21); // entry->SetMarkerSize(1); // entry->SetTextFont(62); leg->AddEntry(SCeta_EB,"Barrel","p"); leg->AddEntry(SCeta_EE,"Endcaps","p"); leg->Draw(); ostringstream ossi(""); ossi << thres; TString tossi = ossi.str(); leg = new TLegend(0.40, 0.30, 0.50, 0.50, NULL, "brNDC"); leg->SetBorderSize(0); leg->SetTextFont(62); leg->SetTextSize(0.0297203); leg->SetLineColor(0); leg->SetLineStyle(1); leg->SetLineWidth(1); leg->SetFillColor(0); leg->SetFillStyle(0); leg->AddEntry("NULL","CMS Preliminary 2012 pp #sqrt{s}=8 TeV","h"); leg->AddEntry("NULL","#int L dt = "+lumi+"^{-1}","h"); leg->AddEntry("NULL","Threshold : "+tossi+" GeV","h"); leg->Draw(); ca->Print(name_image+".C","C"); ca->Print(name_image+".cxx","cxx"); ca->Print(name_image+".png","png"); ca->Print(name_image+".gif","gif"); ca->Print(name_image+".pdf","pdf"); ca->Print(name_image+".ps","ps"); ///////////////////////////// // SAVE THE ROO FIT RESULT // ///////////////////////////// RooWorkspace *w = new RooWorkspace("workspace","workspace") ; w->import(dataSetEB); w->import(dataSetEE); w->import(*roofitres_EB,"roofitres_EB"); w->import(*roofitres_EE,"roofitres_EE"); cout << "CREATES WORKSPACE : " << endl; w->Print(); w->writeToFile(name_image+"_fitres.root") ; //gDirectory->Add(w) ; // DELETE POINTERS // int a=0; // cin >> a; // delete treeTnP; delete cut; delete frame; delete roofitres_EB; delete roofitres_EE; delete ca; delete SCeta_EB; delete SCeta_EE; delete leg; delete w; }
ChatWindow::ChatWindow( Network *aNetwork, MainWindow *aWindow, uin_t aWho ) : BWindow( CHATWIN_RECT, CHATWIN_NAME, B_FLOATING_WINDOW_LOOK, B_NORMAL_WINDOW_FEEL, B_NOT_ZOOMABLE ) { iNetwork = aNetwork; iWindow = aWindow; iWho = aWho; SetSizeLimits( 300, 2000, 200, 2000 ); /* we're fixing a title and checking that we have that number in our people list if true, set to iDisplay */ Person *person; BString title = Title(); BString *pe = NULL; for( int i = 0; i < iWindow->GetProfile()->GetUserlist()->GetList()->CountItems(); i++ ) { person = ( Person* ) iWindow->GetProfile()->GetUserlist()->GetList()->ItemAt( i ); if( aWho == person->GetUIN() ) { pe = new BString( person->GetDisplay() ); break; } } if( !pe ) { pe = new BString(); pe->SetTo( _T("[Stranger]") ); } title.Append( pe->String() ); title << " (" << iWho << ")"; SetTitle( title.String()); /* making a default background */ BRect r = Bounds(); BView *someView; someView = new BView( r, "some view", B_FOLLOW_ALL, B_WILL_DRAW ); someView->SetViewColor( 60, 60, 60 ); AddChild( someView ); /* 'chat' at base of BTextView */ r = someView->Bounds(); r.InsetBy( 10, 10 ); r.right -= B_V_SCROLL_BAR_WIDTH; r.bottom -= 25; BRect textRect = BRect( 5, 5, r.Width() - 5, r.Height() - 5 ); iChat = new BTextView( r, "chat view", textRect, B_FOLLOW_ALL, B_WILL_DRAW ); iChat->MakeEditable( false ); iChat->SetStylable( true ); BFont *font = new BFont( be_plain_font ); font->SetSize( 15.0 ); font->SetEncoding( B_ISO_8859_2 ); iChat->SetFontAndColor( font ); iScrollView = new BScrollView( "scroll view", iChat, B_FOLLOW_ALL, 0, false, true ); someView->AddChild( iScrollView ); iChat->SetViewColor( 70, 70, 70 ); /* new message edit box */ r = someView->Bounds(); r.InsetBy( 10, 10 ); r.top = r.bottom - 15; iSayControl = new BTextControl( r, "say control", "", NULL, new BMessage( BEGG_SEND ), B_FOLLOW_LEFT_RIGHT | B_FOLLOW_BOTTOM ); iSayControl->MakeFocus( true ); float width, height; iSayControl->GetPreferredSize( &width, &height ); iSayControl->SetDivider( width / 2 ); iSayControl->SetFont( font ); someView->AddChild( iSayControl ); }
void CProtoSettings::SetMsgFormat(int Flags, TCString Message) { if (Flags & (SMF_TEMPORARY | SMF_PERSONAL) && g_AutoreplyOptPage.GetDBValueCopy(IDC_REPLYDLG_RESETCOUNTERWHENSAMEICON) && GetMsgFormat(Flags & (SMF_TEMPORARY | SMF_PERSONAL)) != (const TCHAR*)Message) ResetSettingsOnStatusChange(szProto); if (Flags & SMF_TEMPORARY) { _ASSERT(!Status || Status == g_ProtoStates[szProto].Status); g_ProtoStates[szProto].TempMsg = (szProto || Message != NULL) ? Message : CProtoSettings(NULL, Status).GetMsgFormat(GMF_LASTORDEFAULT); } if (Flags & SMF_PERSONAL) { // set a "personal" message for a protocol. also it's used to set global status message (hContact = NULL). // if Message == NULL, then we'll use the "default" message - i.e. it's either the global message for szProto != NULL (we delete the per-proto DB setting), or it's just a default message for a given status for szProto == NULL. g_ProtoStates[szProto].TempMsg.Unset(); CString DBSetting(ProtoStatusToDBSetting(DB_STATUSMSG, IDC_MOREOPTDLG_PERSTATUSPROTOMSGS)); if (Message != NULL) db_set_ts(NULL, MOD_NAME, DBSetting, Message); else { if (!szProto) db_set_ts(NULL, MOD_NAME, DBSetting, CProtoSettings(NULL, Status).GetMsgFormat(GMF_LASTORDEFAULT)); // global message can't be NULL; we can use an empty string instead if it's really necessary else db_unset(NULL, MOD_NAME, DBSetting); } } if (Flags & SMF_LAST) { COptPage MsgTreeData(g_MsgTreePage); COptItem_TreeCtrl *TreeCtrl = (COptItem_TreeCtrl*)MsgTreeData.Find(IDV_MSGTREE); TreeCtrl->DBToMem(CString(MOD_NAME)); int RecentGroupID = GetRecentGroupID(Status); if (RecentGroupID == -1) { // we didn't find the group, it also means that we're using per status messages; so we need to create it TreeCtrl->Value.AddElem(CTreeItem(Status ? pcli->pfnGetStatusModeDescription(Status, 0) : MSGTREE_RECENT_OTHERGROUP, g_Messages_RecentRootID, RecentGroupID = TreeCtrl->GenerateID(), TIF_GROUP)); TreeCtrl->SetModified(true); } int i; // try to find an identical message in the same group (to prevent saving multiple identical messages), // or at least if we'll find an identical message somewhere else, then we'll use its title for our new message TCString Title(_T("")); for (i = 0; i < TreeCtrl->Value.GetSize(); i++) { if (!(TreeCtrl->Value[i].Flags & TIF_GROUP) && TreeCtrl->Value[i].User_Str1 == (const TCHAR*)Message) { if (TreeCtrl->Value[i].ParentID == RecentGroupID) { // found it in the same group int GroupOrder = TreeCtrl->IDToOrder(RecentGroupID); TreeCtrl->Value.MoveElem(i, (GroupOrder >= 0) ? (GroupOrder + 1) : 0); // now move it to the top of recent messages list TreeCtrl->SetModified(true); break; // no reason to search for anything else } if (Title.IsEmpty()) // it's not in the same group, but at least we'll use its title Title = TreeCtrl->Value[i].Title; } } if (i == TreeCtrl->Value.GetSize()) { // we didn't find an identical message in the same group, so we'll add our new message here if (Title.IsEmpty()) { // didn't find a title for our message either if (Message.GetLen() > MRM_MAX_GENERATED_TITLE_LEN) Title = Message.Left(MRM_MAX_GENERATED_TITLE_LEN - 3) + _T("..."); else Title = Message; TCHAR *p = Title.GetBuffer(); while (*p) { // remove "garbage" if (!(p = _tcspbrk(p, _T("\r\n\t")))) break; *p++ = ' '; } Title.ReleaseBuffer(); } int GroupOrder = TreeCtrl->IDToOrder(RecentGroupID); TreeCtrl->Value.InsertElem(CTreeItem(Title, RecentGroupID, TreeCtrl->GenerateID(), 0, Message), (GroupOrder >= 0) ? (GroupOrder + 1) : 0); TreeCtrl->SetModified(true); } // now clean up here int MRMNum = 0; int MaxMRMNum = g_MoreOptPage.GetDBValueCopy(IDC_MOREOPTDLG_RECENTMSGSCOUNT); for (i = 0; i < TreeCtrl->Value.GetSize(); i++) { if (TreeCtrl->Value[i].ParentID == RecentGroupID) { // found a child of our group if (TreeCtrl->Value[i].Flags & TIF_GROUP || ++MRMNum > MaxMRMNum) { // what groups are doing here?! :)) TreeCtrl->Value.RemoveElem(i); TreeCtrl->SetModified(true); i--; } } } // if we're saving recent messages per status, then remove any messages that were left at the recent messages' root if (g_MoreOptPage.GetDBValueCopy(IDC_MOREOPTDLG_PERSTATUSMRM)) { for (i = 0; i < TreeCtrl->Value.GetSize(); i++) { if (TreeCtrl->Value[i].ParentID == g_Messages_RecentRootID) { if (!(TreeCtrl->Value[i].Flags & TIF_GROUP)) { TreeCtrl->Value.RemoveElem(i); TreeCtrl->SetModified(true); i--; } } } } TreeCtrl->MemToDB(CString(MOD_NAME)); } }