Thread daten auslesen benötige hilfe (23 answers)
Opened by quant at 2009-02-10 16:37

quant
 2009-02-10 16:37
#118775 #118775
User since
2009-02-10
2 Artikel
BenutzerIn
[default_avatar]
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
#

}
}
 }
  }

View full thread daten auslesen benötige hilfe