ROOT logo
#if !defined( __CINT__) || defined(__MAKECINT__)

#include <TChain.h>
#include <TFile.h>
#include <TTree.h>
#include <TString.h>
#include <Riostream.h>
#include <TSystem.h>
#include <TH1F.h>
#include <TH2.h>
#include <AliCDBManager.h>
#include <../TRD/AliTRDCalibra.h>

#endif


void AliTRDMergeFilesHisto2D(const char* variablecali, const char* nome, const char* dire){
  //
  // After having simulated and reconstructed events in subrepertories 000%d of dire
  // this macro searchs in the subdirectories the file TRD.calibration.root
  // takes the 2D histos and merge them
  // nome is the name of the file where the sum will be written
  // variablecali can be: CH2d, PH2d, PRF2d
  //



  //The final sum histo
  TH2 *histosum = 0x0;
  Int_t j = 0;


  //The patterns
  const char *name="TRD.calibration.root";
  const char *patterndir="0";
  const char *namesubdir = 0x0;
  char dir[200];

  //Open the current directory
  void * dircu = gSystem->OpenDirectory(dire);
  while((namesubdir = gSystem->GetDirEntry(dircu))) {
    if(strstr(namesubdir,patterndir)) {
      sprintf(dir,"%s/%s",dire,namesubdir);
      printf("process subdirectories: %s\n",dir);
  
      //full name of the file and tree
      char fullname[255] = "";
      
      sprintf(fullname,"%s/%s",dir,name);
      printf("Process file: %s\n",fullname);
      TFile *file = (TFile *) TFile::Open(fullname,"READ");
      if(!file) continue;
      TH2 *histo = (TH2 *) file->Get(variablecali);
      histo->SetDirectory(0);
      if(!histo) continue;
      if(j == 0) histosum = histo;
      else histosum->Add(histo,1);
      j++;
      delete file;
    }// if patterndir
  }//loop in the current directory


  //Open a file to put the histosum
  TFile *fout = TFile::Open((const char*) nome ,"UPDATE");
  fout->WriteTObject(histosum,histosum->GetName(),(Option_t *) "kOverWrite");
  fout->Close();

}
 AliTRDMergeFilesHisto2D.C:1
 AliTRDMergeFilesHisto2D.C:2
 AliTRDMergeFilesHisto2D.C:3
 AliTRDMergeFilesHisto2D.C:4
 AliTRDMergeFilesHisto2D.C:5
 AliTRDMergeFilesHisto2D.C:6
 AliTRDMergeFilesHisto2D.C:7
 AliTRDMergeFilesHisto2D.C:8
 AliTRDMergeFilesHisto2D.C:9
 AliTRDMergeFilesHisto2D.C:10
 AliTRDMergeFilesHisto2D.C:11
 AliTRDMergeFilesHisto2D.C:12
 AliTRDMergeFilesHisto2D.C:13
 AliTRDMergeFilesHisto2D.C:14
 AliTRDMergeFilesHisto2D.C:15
 AliTRDMergeFilesHisto2D.C:16
 AliTRDMergeFilesHisto2D.C:17
 AliTRDMergeFilesHisto2D.C:18
 AliTRDMergeFilesHisto2D.C:19
 AliTRDMergeFilesHisto2D.C:20
 AliTRDMergeFilesHisto2D.C:21
 AliTRDMergeFilesHisto2D.C:22
 AliTRDMergeFilesHisto2D.C:23
 AliTRDMergeFilesHisto2D.C:24
 AliTRDMergeFilesHisto2D.C:25
 AliTRDMergeFilesHisto2D.C:26
 AliTRDMergeFilesHisto2D.C:27
 AliTRDMergeFilesHisto2D.C:28
 AliTRDMergeFilesHisto2D.C:29
 AliTRDMergeFilesHisto2D.C:30
 AliTRDMergeFilesHisto2D.C:31
 AliTRDMergeFilesHisto2D.C:32
 AliTRDMergeFilesHisto2D.C:33
 AliTRDMergeFilesHisto2D.C:34
 AliTRDMergeFilesHisto2D.C:35
 AliTRDMergeFilesHisto2D.C:36
 AliTRDMergeFilesHisto2D.C:37
 AliTRDMergeFilesHisto2D.C:38
 AliTRDMergeFilesHisto2D.C:39
 AliTRDMergeFilesHisto2D.C:40
 AliTRDMergeFilesHisto2D.C:41
 AliTRDMergeFilesHisto2D.C:42
 AliTRDMergeFilesHisto2D.C:43
 AliTRDMergeFilesHisto2D.C:44
 AliTRDMergeFilesHisto2D.C:45
 AliTRDMergeFilesHisto2D.C:46
 AliTRDMergeFilesHisto2D.C:47
 AliTRDMergeFilesHisto2D.C:48
 AliTRDMergeFilesHisto2D.C:49
 AliTRDMergeFilesHisto2D.C:50
 AliTRDMergeFilesHisto2D.C:51
 AliTRDMergeFilesHisto2D.C:52
 AliTRDMergeFilesHisto2D.C:53
 AliTRDMergeFilesHisto2D.C:54
 AliTRDMergeFilesHisto2D.C:55
 AliTRDMergeFilesHisto2D.C:56
 AliTRDMergeFilesHisto2D.C:57
 AliTRDMergeFilesHisto2D.C:58
 AliTRDMergeFilesHisto2D.C:59
 AliTRDMergeFilesHisto2D.C:60
 AliTRDMergeFilesHisto2D.C:61
 AliTRDMergeFilesHisto2D.C:62
 AliTRDMergeFilesHisto2D.C:63
 AliTRDMergeFilesHisto2D.C:64
 AliTRDMergeFilesHisto2D.C:65
 AliTRDMergeFilesHisto2D.C:66
 AliTRDMergeFilesHisto2D.C:67
 AliTRDMergeFilesHisto2D.C:68
 AliTRDMergeFilesHisto2D.C:69
 AliTRDMergeFilesHisto2D.C:70