+void LoadRunLoader(){
+ if(!gSystem->IsFileInIncludePath("galice.root")) {
+ Printf("\n\n galice.root not in path: please check! \n\n");
+ return;
+ }
+ if(gAlice) gAlice=0x0;
+ gAL=AliRunLoader::Open();
+ gAL->LoadHeader();
+ gAL->LoadHits("HMPID");
+ gAL->LoadDigits("HMPID");
+ gAL->LoadRecPoints("HMPID");
+ gDL = gAL->GetDetectorLoader("HMPID");
+ if(!gDL){
+ Printf("\n\n no AliLoader present: please check! \n\n");
+ return;
+ }
+ fNevt= gAL->GetNumberOfEvents();
+}
+//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+void ReadEvent(){
+//used by NextEvent() to read curent event and construct all render elements
+ if(fNevt && fEvt>=fNevt) fEvt=0; //loop over max event
+ if(fNevt && fEvt<0) fEvt=fNevt-1; //loop over max event
+
+// Printf("getting event %i out of %i",fEvt,fNevt);
+
+ if(gDL) {
+
+ gAL->GetEvent(fEvt);
+
+//-------- HITS
+
+ fHitTree=gDL->TreeH();
+
+ if(fHitTree) {
+
+ fHitTree->SetBranchAddress("HMPID",&fHitLst);
+
+ for(Int_t iEnt=0;iEnt<fHitTree->GetEntries();iEnt++){
+ fHitTree->GetEntry(iEnt);
+ RenderHit(fHitLst);
+ }//prim loop
+ }//if hits tree
+
+//-------- DIGITS
+
+ fDigTree=gDL->TreeD();
+
+ if(fDigTree){
+ for(Int_t iCh=AliHMPIDParam::kMinCh;iCh<=AliHMPIDParam::kMaxCh;iCh++) fDigTree->SetBranchAddress(Form("HMPID%i",iCh),&(*fDigLst)[iCh]);
+// fDigTree->GetEvent(fEvt);
+ fDigTree->GetEntry(0);
+ RenderDig(fDigLst);
+ //cout << "pointer to the dig list " << fDigLst << endl;
+ }
+
+//-------- CLUSTERS
+
+ fCluTree= gDL->TreeR();
+
+ if(fCluTree) {
+ for(Int_t iCh=AliHMPIDParam::kMinCh;iCh<=AliHMPIDParam::kMaxCh;iCh++) fCluTree->SetBranchAddress(Form("HMPID%i",iCh),&(*fCluLst)[iCh]);
+ fCluTree->GetEntry(0);
+ RenderClu(fCluLst);
+ }
+ }
+
+//-------- ESD
+
+ if(fEsdFile){//if ESD file open
+ fEsdTree->GetEntry(fEvt);
+ RenderEsd(fEsd);
+ }//if ESD file
+
+}
+//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+void SetEvent(Int_t ev)
+{
+ fEvt=ev;
+ GetEvent();
+}
+//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+void SetSigmaCut(Int_t sig=0)
+{
+ qSigmaCut = sig;
+}
+//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+void SetField()
+{
+ gROOT->LoadMacro("Field.C");
+
+ AliMagF * b = Field();
+
+AliHMPIDTracker::SetFieldMap(b,kTRUE);
+}
+//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+void SetTrigger(Int_t type=0)
+{
+ trigType = type;
+ if(type==1) Printf(" Trigger 1 selected: at least ONE track in HMPID.");
+}
+//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+Bool_t Trigger()
+{
+ if(trigType==0) return kTRUE;
+ if(trigType==1) {
+ if(fEsd->GetNumberOfTracks()>0) {
+ PrintEsd();
+ return kTRUE;
+ } else return kFALSE;
+ }
+ return kTRUE;
+}