Thread daten auslesen benötige hilfe
(23 answers)
Opened by quant at 2009-02-10 16:37
hi
also ich habe große datenfiles in denen events gespeichert werden. diese lese ich normalerweise mit perl ein und bearbeite sie dann. normalerweise mach ich auch nur eine abfrage pro event. jetzt ist es so dass ich überprüfen will ob eine zahl 2 mal im gleichen event vorkommt und wenn ja will ich die werte auslesen. ldr weiss ich irgendwie garnicht wie ich das hinbekommen soll... ich poste hier mal wie ich es sonst immer gemacht habe: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 #!/usr/bin/perl while(<>) { @stuff=split(' '); if(/UQMD/){ } elsif(/projectile:/){ $protar=$_ } elsif(/equation_of_state:/){ $ecm=$stuff[5]; $midy=log($ecm/0.938); $elab=$stuff[3]; $plab=$stuff[7]; } elsif(/event#/){ $noe++ # numbers of events: noe } else{ if($#stuff==14){ @x=@stuff[0..3]; @p=@stuff[4..7]; @id=@stuff[8..11]; $mass=$id[0]; $ityp=$id[1]; $iz2=$id[2]; $charge=$id[3]; if ($ityp==27) { $noe1=$noe; print("lambda \n"); print("Event", $noe1, "\n"); } if ($itype==27 && $noe1==$noe){ print("match"); # # if ($ityp== 27) { # $noe2=$noe; # print("Event", $noe2, "\n"); # $neo2=$neo; # if ($neo1== &neo2){ # print("lambda \n"); # print("Event",$neo2, "\n"); # $pt=sqrt($p[1]*$p[1]+$p[2]*$p[2]); # $ipt=int($pt/$dpt); # $npim[$ipt]++; # print("2 lambdas \n"); # #hier würde ich jetzt gerne überprüfen ob die 27 zwei mal im gleichen event auftaucht # } } } } |