2 #include "AliRunLoader.h"
5 #include "AliMUONData.h"
10 //get trigger decision and write it in TreeR of MUON.RecPoints.root
12 void MUONtrigger (char* filename="galice.root",
13 Int_t evNumber1=0, Int_t evNumber2=9999)
15 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16 // Creating Run Loader and openning file containing Hits
17 AliRunLoader * RunLoader = AliRunLoader::Open(filename,"MUONFolder","UPDATE");
18 if (RunLoader ==0x0) {
19 printf(">>> Error : Error Opening %s file \n",filename);
23 // Loading AliRun master
24 RunLoader->UnloadgAlice();
25 RunLoader->LoadgAlice();
26 gAlice = RunLoader->GetAliRun();
28 // Loading MUON subsystem
29 AliMUON * MUON = (AliMUON *) gAlice->GetDetector("MUON");
30 AliLoader * MUONLoader = RunLoader->GetLoader("MUONLoader");
31 AliMUONData * muondata = MUON->GetMUONData();
32 muondata->SetLoader(MUONLoader);
34 Int_t ievent, nevents;
35 nevents = RunLoader->GetNumberOfEvents();
37 MUONLoader->LoadDigits("READ");
38 MUONLoader->LoadRecPoints("UPDATE");
42 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
43 if (evNumber2>nevents) evNumber2=nevents;
44 for (Int_t ievent=evNumber1; ievent<evNumber2; ievent++) { // event loop
45 printf("event %d\n",ievent);
46 RunLoader->GetEvent(ievent);
47 // Test if rawcluster has already been done before
48 if (MUONLoader->TreeR() == 0x0)
49 MUONLoader->MakeRecPointsContainer();
51 if (muondata->IsTriggerBranchesInTree()){ // Test if rawcluster has already been done before
52 MUONLoader->MakeRecPointsContainer(); // Redoing clusterisation
53 Info("RecPointsContainer","Recreating RecPointsContainer and deleting previous ones");
56 muondata->MakeBranch("GLT");
57 muondata->SetTreeAddress("D,GLT");
58 MUON->Trigger(ievent);
59 muondata->ResetDigits();
60 muondata->ResetTrigger();
62 MUONLoader->UnloadDigits();
63 MUONLoader->UnloadRecPoints();