#!/usr/bin/env perl use strict; my $sqs = $ARGV[0]; my $nevt = $ARGV[1]; my $min = $ARGV[2]; my $max = $ARGV[3]; my $pref = $ARGV[4]; if (!defined($nevt)) {$nevt = 10000;} if (!defined($min)) {$min = 1;} if (!defined($max) || $max<$min) {$max = $min;} if (!defined $ARGV[0]) { print "USAGE:\n"; print "submit.pl [n_evt] [min] [max] [modepref]\n\n"; print " : center of mass energy\n"; print " [n_evt] : number of events per job (default = 10000) \n"; print " [min] : minimum job array number (default = 1) \n"; print " [max] : maximum job array number (default = 1 -> 1 job will be submitted) \n"; print " [modepref] : modes with prefix 'modepref'; 'DPM' to produce DPM events\n\n"; exit(0); } my @skiprecoils = qw( 99 ); # put recoils to skip my @modes = qw( 001640000 001641000 001600000 001601000 014642000 014660000 014602000 022620000 022621000 035622000 102500000 102500001 116500002 129500004 130500005 144500009 157500003 201500006 202500007 212500008 224400000 224400001 237400002 238410000 238410001 251400004 252400005 252410002 265400009 265410004 266410005 278400003 280410009 293410003 299220000 299220001 299221000 299221001 299222000 299222001 299223000 299223001 299224000 299224001 310200000 310200001 310201000 310201001 312220002 312221002 312222002 312223002 312224002 322400006 323400007 324200002 324201002 326220004 326221004 326222004 326223004 326224004 326220005 326221005 326222005 326223005 326224005 333400008 337410006 337200004 337201004 338410007 338200005 338201005 340220009 340221009 340222009 340223009 340224009 342240000 342240001 342241000 342241001 348410008 352200009 352201009 353220003 353221003 353222003 353223003 353224003 355240002 355241002 365200003 365201003 369240004 369241004 370240005 370241005 373100000 373100001 373101000 373101001 373102000 373102001 373103000 373103001 373104000 373104001 374120000 374120001 374121000 374121001 374122000 374122001 374123000 374123001 383240009 383241009 387100002 387101002 387102002 387103002 387104002 388100100 388100101 388101100 388101101 388102100 388102101 388103100 388103101 388104100 388104101 388110100 388110101 388111100 388111101 388112100 388112101 388113100 388113101 388114100 388114101 388115100 388115101 388116100 388116101 388117100 388117101 388118100 388118101 388119100 388119101 388120002 388121002 388122002 388123002 388120100 388120101 388121100 388121101 388122100 388122101 388123100 388123101 388130100 388130101 388131100 388131101 388132100 388132101 388133100 388133101 388134100 388134101 388135100 388135101 388136100 388136101 388137100 388137101 388138100 388138101 394140000 394140001 394141000 394141001 397240003 397241003 397220006 397221006 397222006 397223006 397224006 398220007 398221007 398222007 398223007 398224007 400100004 400101004 400102004 400103004 400104004 401100102 401101102 401102102 401103102 401104102 401110102 401111102 401112102 401113102 401114102 401115102 401116102 401117102 401118102 401119102 401100005 401101005 401102005 401103005 401104005 401120004 401121004 401122004 401123004 402110000 402110001 402111000 402111001 402112000 402112001 402113000 402113001 402114000 402114001 402115000 402115001 402116000 402116001 402117000 402117001 402118000 402118001 402119000 402119001 402120102 402121102 402122102 402123102 402130102 402131102 402132102 402133102 402134102 402135102 402136102 402137102 402138102 402120005 402121005 402122005 402123005 403130000 403130001 403131000 403131001 403132000 403132001 403133000 403133001 403134000 403134001 403135000 403135001 403136000 403136001 403137000 403137001 403138000 403138001 408140002 408141002 408220008 408221008 408222008 408223008 408224008 409140100 409140101 409141100 409141101 409150100 409150101 409151100 409151101 409200006 409201006 410200007 410201007 415100104 415101104 415102104 415103104 415104104 415110104 415111104 415112104 415113104 415114104 415115104 415116104 415117104 415118104 415119104 415100009 415101009 415102009 415103009 415104009 415110002 415111002 415112002 415113002 415114002 415115002 415116002 415117002 415118002 415119002 415120104 415121104 415122104 415123104 415130104 415131104 415132104 415133104 415134104 415135104 415136104 415137104 415138104 416100105 416101105 416102105 416103105 416104105 416110105 416111105 416112105 416113105 416114105 416115105 416116105 416117105 416118105 416119105 416120009 416121009 416122009 416123009 416130002 416131002 416132002 416133002 416134002 416135002 416136002 416137002 416138002 416120105 416121105 416122105 416123105 416130105 416131105 416132105 416133105 416134105 416135105 416136105 416137105 416138105 420200008 420201008 421140004 421141004 422140102 422141102 422150102 422151102 422140005 422141005 423150000 423150001 423151000 423151001 428100003 428101003 428102003 428103003 428104003 429110004 429111004 429112004 429113004 429114004 429115004 429116004 429117004 429118004 429119004 429100109 429101109 429102109 429103109 429104109 429110109 429111109 429112109 429113109 429114109 429115109 429116109 429117109 429118109 429119109 429120003 429121003 429122003 429123003 430130004 430131004 430132004 430133004 430134004 430135004 430136004 430137004 430138004 430110005 430111005 430112005 430113005 430114005 430115005 430116005 430117005 430118005 430119005 430120109 430121109 430122109 430123109 430130109 430131109 430132109 430133109 430134109 430135109 430136109 430137109 430138109 430130005 430131005 430132005 430133005 430134005 430135005 430136005 430137005 430138005 436140104 436141104 436150104 436151104 436140009 436141009 436150002 436151002 436140105 436141105 436150105 436151105 441240006 441241006 442240007 442241007 442100103 442101103 442102103 442103103 442104103 442110103 442111103 442112103 442113103 442114103 442115103 442116103 442117103 442118103 442119103 443120103 443121103 443122103 443123103 443130103 443131103 443132103 443133103 443134103 443135103 443136103 443137103 443138103 443110009 443111009 443112009 443113009 443114009 443115009 443116009 443117009 443118009 443119009 444130009 444131009 444132009 444133009 444134009 444135009 444136009 444137009 444138009 449140003 449141003 450150004 450151004 450140109 450141109 450150109 450151109 451150005 451151005 452240008 452241008 457110003 457111003 457112003 457113003 457114003 457115003 457116003 457117003 457118003 457119003 457130003 457131003 457132003 457133003 457134003 457135003 457136003 457137003 457138003 458420000 458420001 458421000 458421001 458422000 458422001 463140103 463141103 463150103 463151103 464150009 464151009 471420002 471421002 471422002 472100006 472101006 472102006 472103006 472104006 473100007 473101007 473102007 473103007 473104007 473120006 473121006 473122006 473123006 474120007 474121007 474122007 474123007 478150003 478151003 483100008 483101008 483102008 483103008 483104008 484120008 484121008 484122008 484123008 485420004 485421004 485422004 486420005 486421005 486422005 486100106 486101106 486102106 486103106 486104106 486110106 486111106 486112106 486113106 486114106 486115106 486116106 486117106 486118106 486119106 487100107 487101107 487102107 487103107 487104107 487110107 487111107 487112107 487113107 487114107 487115107 487116107 487117107 487118107 487119107 487120106 487121106 487122106 487123106 487130106 487131106 487132106 487133106 487134106 487135106 487136106 487137106 487138106 488120107 488121107 488122107 488123107 488130107 488131107 488132107 488133107 488134107 488135107 488136107 488137107 488138107 493140006 493141006 494140007 494141007 497100108 497101108 497102108 497103108 497104108 497110108 497111108 497112108 497113108 497114108 497115108 497116108 497117108 497118108 497119108 498120108 498121108 498122108 498123108 498130108 498131108 498132108 498133108 498134108 498135108 498136108 498137108 498138108 499420009 499421009 499422009 501110006 501111006 501112006 501113006 501114006 501115006 501116006 501117006 501118006 501119006 501130006 501131006 501132006 501133006 501134006 501135006 501136006 501137006 501138006 501110007 501111007 501112007 501113007 501114007 501115007 501116007 501117007 501118007 501119007 502130007 502131007 502132007 502133007 502134007 502135007 502136007 502137007 502138007 504140008 504141008 507140106 507141106 507150106 507151106 508140107 508141107 508150107 508151107 511110008 511111008 511112008 511113008 511114008 511115008 511116008 511117008 511118008 511119008 512130008 512131008 512132008 512133008 512134008 512135008 512136008 512137008 512138008 513420003 513421003 513422003 518140108 518141108 518150108 518151108 522150006 522151006 522150007 522151007 533150008 533151008 557420006 557421006 557422006 557420007 557421007 557422007 567420008 567421008 567422008 ); sub pbarmom { my $mp0 = 0.938272; my $minp = 0.0; my $s = $_[0]*$_[0]; if (sqrt($s)>2.*$mp0) {$minp = sqrt(($s-2.*$mp0*$mp0)*($s-2.*$mp0*$mp0)/(4.*$mp0*$mp0)-$mp0*$mp0);} return $minp; } # -------------- # main routine # -------------- my $sqscode = sprintf "%3d", $sqs*100; my $pmom = sprintf "%.5f", pbarmom($sqs); if ($pref eq "DPM") { print "qsub -t $min-$max job_sof.sge $sqscode\900 $nevt DPM $pmom\n"; if ($nevt>0) {`qsub -t $min-$max job_sof.sge $sqscode\900 $nevt DPM $pmom`;} } foreach my $mode (@modes) { # is in list of skipped recoils? my $rec = substr $mode, -2; if ($rec ~~ @skiprecoils) {next;} my $nrg = sprintf "%d",$mode/1000000; my $mmode = $mode%1000000; if (defined($pref) && $mmode !~ m/^\Q$pref\E/) {next;} if ($sqs*100>=$nrg) { if ($nevt==0) {print "nevt=0 ? ";} print "qsub -t $min-$max job_sof.sge $sqscode$mmode $nevt decfiles/M$mmode.dec $pmom pbarpSystem0\n"; if ($nevt>0) {`qsub -t $min-$max job_sof.sge $sqscode$mmode $nevt decfiles/M$mmode.dec $pmom pbarpSystem0`;} } }