#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