]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ANALYSIS/AliTagAnalysis.cxx
Fix leaks in AliIsolationCut and AlianaOmegaToPi0Gamma
[u/mrichter/AliRoot.git] / ANALYSIS / AliTagAnalysis.cxx
index 6e28d097cdc09fad11312199f97a5d464977ff60..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;
@@ -177,7 +177,7 @@ TChain *AliTagAnalysis::QueryTags(AliRunTagCuts *runTagCuts,
   
   //Defining tag objects
   AliRunTag   *tag     = new AliRunTag;
-  AliEventTag *evTag   = 0x0;
+  //  AliEventTag *evTag   = 0x0;
   AliFileTag  *flTag   = 0x0;
 
   fChain->SetBranchAddress("AliTAG",&tag);
@@ -266,7 +266,7 @@ TChain *AliTagAnalysis::QueryTags(const char *fRunCut,
   
   //Defining tag objects        
   AliRunTag   *tag   = new AliRunTag;   
-  AliEventTag *evTag = 0x0;
+  //  AliEventTag *evTag = 0x0;
   fChain->SetBranchAddress("AliTAG",&tag);      
   
   TString guid;         
@@ -297,7 +297,7 @@ TChain *AliTagAnalysis::QueryTags(const char *fRunCut,
       if(fLHCFormula->EvalInstance(iTagFiles) == 1) {   
        if(fDetectorFormula->EvalInstance(iTagFiles) == 1) {
           localList->Reset();   
-         Int_t iEvents = fEventFormula->GetNdata();     
+         //      Int_t iEvents = fEventFormula->GetNdata();     
          // *** FIXME ***
 
 //       const TClonesArray *tagList = tag->GetEventTags();     
@@ -376,7 +376,7 @@ AliTagAnalysis::CreateXMLCollection(const char* name,
 
   Int_t iTagFiles = 0;
   
-  AliEventTag *evTag = 0x0;
+  //  AliEventTag *evTag = 0x0;
   AliFileTag  *flTag = 0x0;
 
   //  for(Int_t iTagFiles = 0; iTagFiles < fChain->GetListOfFiles()->GetEntries(); ++iTagFiles) 
@@ -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());
@@ -503,7 +505,7 @@ Bool_t AliTagAnalysis::CreateXMLCollection(const char* name,
 
   //Defining tag objects
   AliRunTag *tag     = new AliRunTag;
-  AliEventTag *evTag = 0x0;
+  //  AliEventTag *evTag = 0x0;
   fChain->SetBranchAddress("AliTAG",&tag);
 
   TTreeFormula *fRunFormula = new TTreeFormula("fRun",fRunCut,fChain);
@@ -530,7 +532,7 @@ Bool_t AliTagAnalysis::CreateXMLCollection(const char* name,
     if(fRunFormula->EvalInstance(iTagFiles) == 1) {
       if(fLHCFormula->EvalInstance(iTagFiles) == 1) {   
        if(fDetectorFormula->EvalInstance(iTagFiles) == 1) {     
-         Int_t iEvents = fEventFormula->GetNdata();
+         //      Int_t iEvents = fEventFormula->GetNdata();
          // *** FIXME ***
 
 
@@ -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);