]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/alice-macros/MUON_trigger_info.C
Record changes.
[u/mrichter/AliRoot.git] / EVE / alice-macros / MUON_trigger_info.C
1 #include <iomanip.h>
2
3 void MUON_trigger_info(Int_t label) {
4
5   AliRunLoader* rl = Alieve::Event::AssertRunLoader();
6
7   TTree* tt = rl->GetTreeT("MUON", false);
8   
9   TClonesArray *tracks = 0;
10   tt->SetBranchAddress("MUONTrack",&tracks);
11   tt->GetEntry(0);
12
13   Int_t ntracks = tracks->GetEntriesFast();
14   
15   if (ntracks <= label) return;
16
17   AliMUONTrack *mt = tracks->At(label);  
18
19   TTree* tr = rl->GetTreeR("MUON", false);
20   
21   TClonesArray *lotrig = 0;
22   tr->SetBranchAddress("MUONLocalTrigger",&lotrig);
23   tr->GetEntry(0);
24
25   Int_t nlotrig = lotrig->GetEntriesFast();
26
27   cout << endl;
28   cout << ">>>>>#########################################################################################################################" << endl;
29   cout << endl;
30   cout << "                   Track number " << label << endl;
31   cout << endl;
32   AliMUONTrackParam *mtp = (AliMUONTrackParam*)mt->GetTrackParamAtVertex();
33   Float_t pt = TMath::Sqrt(mtp->Px()*mtp->Px()+mtp->Py()*mtp->Py());
34
35   cout << "   Pt = " << 
36     setw(8) << setprecision(3) <<
37     pt << "  GeV/c" << endl;
38   
39   cout << endl;
40
41   if (mt->GetLoTrgNum() >= 0) {
42     AliMUONLocalTrigger *lo = (AliMUONLocalTrigger*)lotrig->At(mt->GetLoTrgNum());
43     cout << "   Local trigger information" << endl;
44     cout << "   -----------------------------------------------------" << endl;
45     cout << "   Circuit   " << lo->LoCircuit() << endl;
46     cout << "   StripX    " << lo->LoStripX()  << endl;
47     cout << "   StripY    " << lo->LoStripY()  << endl;
48     cout << "   Dev       " << lo->LoDev()     << endl;
49     cout << "   LoLpt     " << lo->LoLpt()     << endl;
50     cout << "   LoHpt     " << lo->LoHpt()     << endl;
51     cout << "   Pattern X:" << endl;
52     printf("   %016b \n",lo->GetX1Pattern());
53     printf("   %016b \n",lo->GetX2Pattern());
54     printf("   %016b \n",lo->GetX3Pattern());
55     printf("   %016b \n",lo->GetX4Pattern());
56     cout << "   Pattern Y:" << endl;
57     printf("   %016b \n",lo->GetY1Pattern());
58     printf("   %016b \n",lo->GetY2Pattern());
59     printf("   %016b \n",lo->GetY3Pattern());
60     printf("   %016b \n",lo->GetY4Pattern());
61     cout << "   Decision:" << endl;
62     printf("   %04b  \n",lo->GetLoDecision());
63   } else {
64     cout << "   The track has no trigger information!" << endl;
65   }
66   cout << endl;
67   cout << "#########################################################################################################################<<<<<" << endl;
68   
69 }
70