]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ANALYSIS/AliTagAnalysis.cxx
Updated computation of truncated mean of dE/dx from ITS layers (F. Prino)
[u/mrichter/AliRoot.git] / ANALYSIS / AliTagAnalysis.cxx
index 35425d204cb3c3bac393eaa1b011b18f5ecaf046..77bd1081ac493549e1c67537feea4d490b8381d2 100644 (file)
@@ -118,7 +118,7 @@ void AliTagAnalysis::ChainLocalTags(const char *dirname) {
   const char * name = 0x0;
   // Add all files matching *pattern* to the chain
   while((name = gSystem->GetDirEntry(dirp))) {
-    if (strstr(name,tagPattern)) { 
+    if (tagPattern && strstr(name,tagPattern)) { 
       fTagFilename = fTagDirName;
       fTagFilename += "/";
       fTagFilename += name;
@@ -400,15 +400,17 @@ AliTagAnalysis::CreateXMLCollection(const char* name,
                    iRejectedEvtInFile = 0;
                    iAcceptedEvtInFile = 0;
 
+                   localList.Reset();
+                   
                    flTag = tag->GetFileTag(iChunk);
                    guid = flTag->GetGUID();
                    turl = flTag->GetTURL();
                    lfn = turl(8,turl.Length());
-
+                   
                    for (int i = 0; i<flTag->GetNEvents(); i++) 
                      {
                        //                      evTag = flTag->GetEventTag(i);
-               
+                       
                        if( !evTagCuts || ( evTagCuts && evTagCuts->IsAccepted(flTag->GetEventTag(i))) )
                          {
                            localList.Enter(i);
@@ -420,7 +422,7 @@ AliTagAnalysis::CreateXMLCollection(const char* name,
                            ++iRejectedEvtInFile;
                          }
                      }
-               // *** FIXME ***
+                   // *** FIXME ***
 //             Int_t i(0);
 
 //             TIter next(tag->GetEventTags());
@@ -594,7 +596,7 @@ TChain *AliTagAnalysis::GetInputChain(const char* system, const char *wn) {
   collection->Reset();
   while (collection->Next()) {
     AliInfo(Form("Adding: %s",collection->GetTURL("")));
-    fAnalysisChain->Add(collection->GetTURL(""));
+    if (fAnalysisChain) fAnalysisChain->Add(collection->GetTURL(""));
     TEntryList *list = (TEntryList *)collection->GetEventList("");
     for(Int_t i = 0; i < list->GetN(); i++) fEventList->Enter(iAccepted+list->GetEntry(i));
 
@@ -602,7 +604,7 @@ TChain *AliTagAnalysis::GetInputChain(const char* system, const char *wn) {
     else if(fsystem == "PbPb") iAccepted += 1;
   }
 
-  fAnalysisChain->SetEventList(fEventList);
+  if (fAnalysisChain) fAnalysisChain->SetEventList(fEventList);
   
   AliInfo(Form("Number of selected events: %d",fEventList->GetN()));
 
@@ -672,27 +674,27 @@ AliTagAnalysis::CreateChainFromCollection(const char* collectionname, const char
  
   char nstr[2000];
 
-  sprintf(nstr, "TotalEvents=%i", iTotalEvents);
+  snprintf(nstr, 2000, "TotalEvents=%i", iTotalEvents);
   TObjString *iTotStr = new TObjString(nstr);
   aUserInfo->Add(iTotStr);
 
-  sprintf(nstr, "AcceptedEvents=%i", iAccepted);
+  snprintf(nstr, 2000, "AcceptedEvents=%i", iAccepted);
   TObjString *iAccStr = new TObjString(nstr);
   aUserInfo->Add(iAccStr);
 
-  sprintf(nstr, "RejectedRun=%i", iRejRun);
+  snprintf(nstr, 2000, "RejectedRun=%i", iRejRun);
   TObjString *iRejRunStr = new TObjString(nstr);
   aUserInfo->Add(iRejRunStr);
 
-  sprintf(nstr, "RejectedLHC=%i", iRejLHC);
+  snprintf(nstr, 2000, "RejectedLHC=%i", iRejLHC);
   TObjString *iRejLHCStr = new TObjString(nstr);
   aUserInfo->Add(iRejLHCStr);
 
-  sprintf(nstr, "RejectedDet=%i", iRejDet);
+  snprintf(nstr, 2000, "RejectedDet=%i", iRejDet);
   TObjString *iRejDetStr = new TObjString(nstr);
   aUserInfo->Add(iRejDetStr);
 
-  sprintf(nstr, "RejectedEvt=%i", iRejEvt);
+  snprintf(nstr, 2000, "RejectedEvt=%i", iRejEvt);
   TObjString *iRejEvtStr = new TObjString(nstr);
   aUserInfo->Add(iRejEvtStr);