]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/MUONtrigger.C
No longer needed as all deals with the old IO as well as old digit-cluster structure
[u/mrichter/AliRoot.git] / MUON / MUONtrigger.C
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  *                                                                        *
4  * Author: The ALICE Off-line Project.                                    *
5  * Contributors are mentioned in the code where appropriate.              *
6  *                                                                        *
7  * Permission to use, copy, modify and distribute this software and its   *
8  * documentation strictly for non-commercial purposes is hereby granted   *
9  * without fee, provided that the above copyright notice appears in all   *
10  * copies and that both the copyright notice and this permission notice   *
11  * appear in the supporting documentation. The authors make no claims     *
12  * about the suitability of this software for any purpose. It is          *
13  * provided "as is" without express or implied warranty.                  *
14  **************************************************************************/
15
16 /* $Id$ */
17
18 #include "AliRun.h"
19 #include "AliRunLoader.h"
20 #include "AliLoader.h"
21 #include "AliMUON.h"
22 #include "AliMUONData.h"
23
24
25 AliRun * gAlice;
26
27 //get trigger decision and write it in TreeR of MUON.RecPoints.root
28
29 void MUONtrigger (char* filename="galice.root", 
30                   Int_t evNumber1=0, Int_t evNumber2=9999)
31 {
32 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
33 // Creating Run Loader and openning file containing Hits
34   AliRunLoader * RunLoader = AliRunLoader::Open(filename,"MUONFolder","UPDATE");
35   if (RunLoader ==0x0) {
36     printf(">>> Error : Error Opening %s file \n",filename);
37     return;
38   }
39
40   // Loading AliRun master
41   RunLoader->UnloadgAlice();
42   RunLoader->LoadgAlice();
43   gAlice = RunLoader->GetAliRun();
44
45   // Loading MUON subsystem
46   AliMUON * MUON = (AliMUON *) gAlice->GetDetector("MUON");
47   AliLoader * MUONLoader = RunLoader->GetLoader("MUONLoader");
48   AliMUONData * muondata = MUON->GetMUONData();
49   muondata->SetLoader(MUONLoader);
50
51   Int_t ievent, nevents;
52   nevents = RunLoader->GetNumberOfEvents();
53
54   MUONLoader->LoadDigits("READ");
55   MUONLoader->LoadRecPoints("UPDATE");
56
57
58
59 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
60   if (evNumber2>nevents) evNumber2=nevents;
61    for (Int_t ievent=evNumber1; ievent<evNumber2; ievent++) { // event loop
62        printf("event %d\n",ievent);
63        RunLoader->GetEvent(ievent);       
64        // Test if rawcluster has already been done before
65        if (MUONLoader->TreeR() == 0x0) 
66          MUONLoader->MakeRecPointsContainer();
67        else {
68          if (muondata->IsTriggerBranchesInTree()){ // Test if rawcluster has already been done before
69            if (ievent==evNumber1) MUONLoader->UnloadRecPoints();
70            MUONLoader->MakeRecPointsContainer();  // Redoing clusterisation
71            Info("RecPointsContainer","Recreating RecPointsContainer and deleting previous ones");
72          }
73        }
74        muondata->MakeBranch("GLT");
75        muondata->SetTreeAddress("D,GLT");
76        MUON->Trigger(ievent); 
77        muondata->ResetDigits();
78        muondata->ResetTrigger();
79    } // event loop 
80    MUONLoader->UnloadDigits();
81    MUONLoader->UnloadRecPoints();
82 }
83
84
85
86
87
88
89
90
91
92
93
94
95
96