Main Page | Namespace List | Class Hierarchy | Class List | File List | Class Members | File Members

zprimAnal.cpp

Go to the documentation of this file.
00001 
00002 #include <XANADOO/domain/interface/XANAEsdEvent.h>
00003 #include <XANADOO/XANAClusters/interface/XANACluster.h>
00004 #include <XANADOO/XANAClusters/interface/XANACaloRecHit.h>
00005 #include <XANADOO/XANAClusters/interface/XANAEmCluster.h>
00006 #include <XANADOO/XANAClusters/interface/XANASuperCluster.h>
00007 #include <XANADOO/XANAClusters/interface/XANAHadCluster.h>
00008 #include <XANADOO/XANATracks/interface/XANATrack.h>
00009 #include <XANADOO/XANAMcInfo/interface/XANAGeneratorEvent.h>
00010 #include <XANADOO/XANAMcInfo/interface/XANAGeantEvent.h>
00011 #include <XANADOO/XANAMcInfo/interface/XANAGeneratorParticle.h>
00012 #include <XANADOO/XANAElectronCandidate/interface/XANAElectronCandidate.h>
00013 #include <XANADOO/XANAElectronCandidate/interface/XANAElectronTrack.h>
00014 #include <XANADOO/XANAElectronCandidate/interface/XANAElectronSeed.h>
00015 #include <XANADOO/XANAMuons/interface/XANAMuonCandidate.h>
00016 #include <XANADOO/XANATriggerInfo/interface/XANATriggerInfo.h>
00017 #include <XANADOO/XANAJets/interface/XANAJet.h>
00018 
00019 #include <XANADOO/XANAGeometry/interface/XANAEcalGeometry.h>
00020 
00021 #include <XANADOO/XANAnalysisRS/interface/RSElecSelector.h>
00022 #include <XANADOO/XANAnalysisRS/interface/RSCorrectionFunc.h>
00023 #include <XANADOO/XANAnalysisRS/interface/RSSaturation.h>
00024 #include <XANADOO/XANAnalysisRS/interface/RSPhotonAssoc.h>
00025 #include <XANADOO/XANAnalysisRS/interface/ClassRSElec.h>
00026 #include <XANADOO/XANAnalysisRS/interface/RSVertexCorr.h>
00027 #include <XANADOO/XANAnalysisRS/interface/RSDistribAng.h>
00028 #include <XANADOO/XANAnalysisRS/interface/RSMassEstim.h>
00029 
00030 
00031 #include "TTree.h"
00032 #include "TBits.h"
00033 #include "TObjectTable.h"
00034 #include "TFile.h"
00035 #include "TBranch.h"
00036 #include "TClonesArray.h"
00037 #include "TObjArray.h"
00038 #include "TH1.h"
00039 #include "TH2.h"
00040 #include "TSystem.h"
00041 #include "TChain.h"
00042 
00043 #include <string>
00044 
00045 using namespace std;
00046 
00047 Short_t ne_candidatelectron=0,ns_supercluster=0;
00048 TObjArray *genpart = 0;  
00049 TObjArray *clusters = 0;
00050 TObjArray *hadClusters = 0;
00051 TObjArray *superClusters = 0;
00052 TObjArray *preshClusters = 0;
00053 TRefArray *hits = 0;
00054 TObjArray *tracks = 0;
00055 TObjArray *vertices = 0;
00056 TObjArray *electrons = 0;
00057 TObjArray *electronTracks = 0;
00058 TObjArray *muons = 0;
00059 
00060 
00061   
00062 int main(int argc, char** argv)
00063 {
00064   //   Connect to file generated
00065   TFile *f;
00066     //  if (argc==1) f = new TFile("SE04_E25_Pall_PT30.root");
00067   if (argc==1) f = new TFile("/data/scratch/collard/Production_xana151/zprim/famos/xZprimALRM_m1tev.root");
00068 
00069   else f = new TFile(*++argv);
00070  
00071     //   Read Tree named "T" in memory. Tree pointer is assigned the same name
00072   TTree *T = (TTree*)f->Get("ESD");
00073 
00074    
00075 // version TChain
00076 //   TChain *T = new TChain("ESD");
00077 //   T->Add("file1.root");
00078 //   T->Add("file2.root");
00079  
00080 // example of how to suppress reading of branches
00081 // has to be put before setting the branch addresses!
00082 // T->SetBranchStatus("GeantEvent*",0);
00083 
00084 // Reconstructed event
00085   XANAEsdEvent *event = new XANAEsdEvent();  
00086   T->SetBranchAddress("Event.",&event);
00087   // MC information (generator and GEANT event)
00088   XANAGeneratorEvent *generatorEvent = new XANAGeneratorEvent();
00089   T->SetBranchAddress("GeneratorEvent.",&generatorEvent);
00090     
00091   XANAGeantEvent *geantEvent = new XANAGeantEvent();
00092   T->SetBranchAddress("GeantEvent.",&geantEvent);
00093   
00094 
00095 
00096  
00097   // Histo
00098   // sans contrainte de masse
00099   TH1F *histo1000 = new TH1F("histo1000","M Zprime gen ee ",280,0.,7.);
00100   TH1F *histo1001 = new TH1F("histo1001","M Zprime gen",280,0.,7.);
00101   TH1F *histo1002 = new TH1F("histo1002","M Zprime rec",280,0.,7.);
00102   TH1F *histo1003 = new TH1F("histo1003","Delta M     ",100,-50.,50.);
00103   TH1F *histo1004 = new TH1F("histo1004","CosTheta gen",20,-1.,1.);
00104   TH1F *histo1005 = new TH1F("histo1005","CosTheta rec",20,-1.,1.);
00105   TH1F *histo1006 = new TH1F("histo1006","CosTheta gen",10,-1.,1.);
00106   TH1F *histo1007 = new TH1F("histo1007","CosTheta rec",10,-1.,1.);
00107   TH1F *histo1008 = new TH1F("histo1008","Delta Cos th",100,-0.5,0.5);
00108   TH1F *histo1009 = new TH1F("histo1009","Delta Cos th",100,-0.2,0.2);
00109   
00110   // 1 TeV 
00111   TH1F *histo2000 = new TH1F("histo2000","M Zprime gen ee ",24,0.4,1.6);
00112   TH1F *histo2001 = new TH1F("histo2001","M Zprime gen ",24,0.4,1.6);
00113   TH1F *histo2002 = new TH1F("histo2002","M Zprime rec ",24,0.4,1.6);
00114   TH1F *histo2003 = new TH1F("histo2003","M Zprime gen",32,0.5,1.3);
00115   TH1F *histo2004 = new TH1F("histo2004","M Zprime rec",32,0.5,1.3);
00116   TH1F *histo2005 = new TH1F("histo2005","M Zprime gen",80,0.5,1.3);
00117   TH1F *histo2006 = new TH1F("histo2006","M Zprime rec",80,0.5,1.3);
00118   TH1F *histo2007 = new TH1F("histo2007","M Zprime gen",160,0.5,1.3);
00119   TH1F *histo2008 = new TH1F("histo2008","M Zprime rec",160,0.5,1.3);
00120   TH1F *histo2009 = new TH1F("histo2009","M Zprime gen",800,0.5,1.3);
00121   TH1F *histo2010 = new TH1F("histo2010","M Zprime rec",800,0.5,1.3);
00122   TH1F *histo2011 = new TH1F("histo2011","CosTheta gen",20,-1.,1.);
00123   TH1F *histo2012 = new TH1F("histo2012","CosTheta rec",20,-1.,1.);
00124   TH1F *histo2013 = new TH1F("histo2013","CosTheta gen",10,-1.,1.);
00125   TH1F *histo2014 = new TH1F("histo2014","CosTheta rec",10,-1.,1.);
00126 
00127   // 3 TeV 
00128   TH1F *histo3000 = new TH1F("histo3000","M Zprime gen ee ",30,1.5,4.5);
00129   TH1F *histo3001 = new TH1F("histo3001","M Zprime gen ",30,1.5,4.5);
00130   TH1F *histo3002 = new TH1F("histo3002","M Zprime rec ",30,1.5,4.5);
00131   TH1F *histo3003 = new TH1F("histo3003","M Zprime gen",40,1.8,3.8);
00132   TH1F *histo3004 = new TH1F("histo3004","M Zprime rec",40,1.8,3.8);
00133   TH1F *histo3005 = new TH1F("histo3005","M Zprime gen",100,1.8,3.8);
00134   TH1F *histo3006 = new TH1F("histo3006","M Zprime rec",100,1.8,3.8);
00135   TH1F *histo3007 = new TH1F("histo3007","M Zprime gen",200,1.8,3.8);
00136   TH1F *histo3008 = new TH1F("histo3008","M Zprime rec",200,1.8,3.8);
00137   TH1F *histo3009 = new TH1F("histo3009","M Zprime gen",2000,1.8,3.8);
00138   TH1F *histo3010 = new TH1F("histo3010","M Zprime rec",2000,1.8,3.8);
00139   TH1F *histo3011 = new TH1F("histo3011","CosTheta gen",20,-1.,1.);
00140   TH1F *histo3012 = new TH1F("histo3012","CosTheta rec",20,-1.,1.);
00141   TH1F *histo3013 = new TH1F("histo3013","CosTheta gen",10,-1.,1.);
00142   TH1F *histo3014 = new TH1F("histo3014","CosTheta rec",10,-1.,1.);
00143 
00144   // 5 TeV 
00145   TH1F *histo4000 = new TH1F("histo4000","M Zprime gen ee ",40,3.0,7.0);
00146   TH1F *histo4001 = new TH1F("histo4001","M Zprime gen ",40,3.0,7.0);
00147   TH1F *histo4002 = new TH1F("histo4002","M Zprime rec ",40,3.0,7.0);
00148   TH1F *histo4003 = new TH1F("histo4003","M Zprime gen",50,3.5,6.0);
00149   TH1F *histo4004 = new TH1F("histo4004","M Zprime rec",50,3.5,6.0);
00150   TH1F *histo4005 = new TH1F("histo4005","M Zprime gen",125,3.5,6.0);
00151   TH1F *histo4006 = new TH1F("histo4006","M Zprime rec",125,3.5,6.0);
00152   TH1F *histo4007 = new TH1F("histo4007","M Zprime gen",250,3.5,6.0);
00153   TH1F *histo4008 = new TH1F("histo4008","M Zprime rec",250,3.5,6.0);
00154   TH1F *histo4009 = new TH1F("histo4009","M Zprime gen",2500,3.5,6.0);
00155   TH1F *histo4010 = new TH1F("histo4010","M Zprime rec",2500,3.5,6.0);
00156   TH1F *histo4011 = new TH1F("histo4011","CosTheta gen",20,-1.,1.);
00157   TH1F *histo4012 = new TH1F("histo4012","CosTheta rec",20,-1.,1.);
00158   TH1F *histo4013 = new TH1F("histo4013","CosTheta gen",10,-1.,1.);
00159   TH1F *histo4014 = new TH1F("histo4014","CosTheta rec",10,-1.,1.);
00160 
00161   // 5 TeV  sans saturation
00162   TH1F *histo5000 = new TH1F("histo5000","M Zprime gen ee ",40,3.0,7.0);
00163   TH1F *histo5001 = new TH1F("histo5001","M Zprime gen ",40,3.0,7.0);
00164   TH1F *histo5002 = new TH1F("histo5002","M Zprime rec ",40,3.0,7.0);
00165   TH1F *histo5003 = new TH1F("histo5003","M Zprime gen",50,3.5,6.0);
00166   TH1F *histo5004 = new TH1F("histo5004","M Zprime rec",50,3.5,6.0);
00167   TH1F *histo5005 = new TH1F("histo5005","M Zprime gen",125,3.5,6.0);
00168   TH1F *histo5006 = new TH1F("histo5006","M Zprime rec",125,3.5,6.0);
00169   TH1F *histo5007 = new TH1F("histo5007","M Zprime gen",250,3.5,6.0);
00170   TH1F *histo5008 = new TH1F("histo5008","M Zprime rec",250,3.5,6.0);
00171   TH1F *histo5009 = new TH1F("histo5009","M Zprime gen",2500,3.5,6.0);
00172   TH1F *histo5010 = new TH1F("histo5010","M Zprime rec",2500,3.5,6.0);
00173   TH1F *histo5011 = new TH1F("histo5011","CosTheta gen",20,-1.,1.);
00174   TH1F *histo5012 = new TH1F("histo5012","CosTheta rec",20,-1.,1.);
00175   TH1F *histo5013 = new TH1F("histo5013","CosTheta gen",10,-1.,1.);
00176   TH1F *histo5014 = new TH1F("histo5014","CosTheta rec",10,-1.,1.);
00177 
00178 
00179   //   Start main loop on all events
00180   Int_t nb = 0; 
00181   Int_t nevent = (Int_t)T->GetEntries();
00182 
00183 //  nevent =10;
00184 
00185   
00186   cout <<  "Nombre d entrees a traiter : " << nevent << endl; 
00187   for (Int_t i=0; i<nevent; i++) {
00188     nb += T->GetEntry(i); 
00189 
00190 
00191        // Monte Carlo information
00192    
00193       // generator event
00194     Short_t mc_np = 0, mc_nsp = 0, mc_nssp = 0, mc_npp = 0, mc_nspp = 0 ;
00195     mc_np   = generatorEvent->getNumberOfParticles();
00196     mc_nsp  = generatorEvent->getNumberOfSignalParticles();
00197     mc_nssp = generatorEvent->getNumberOfStableSignalParticles();
00198     mc_npp  = generatorEvent->getNumberOfPileupParticles();
00199     mc_nspp = generatorEvent->getNumberOfStablePileupParticles();
00200     genpart=generatorEvent->getParticles();
00201     int npart=0,izprime=11,ilink1=0,ilink2=0;
00202     for (int gp=0;gp<mc_np;gp++) {
00203          XANAGeneratorParticle *gpart = (XANAGeneratorParticle *)((*genpart)[gp]);
00204          if ((gpart->getPartId()==11 || gpart->getPartId()==-11) &&  gpart->getMo1()==12 )
00205          { 
00206                if (npart==0)
00207                {
00208                     // elec 1
00209                     npart++;
00210                     ilink1=gp;
00211                }
00212                else if (npart==1)
00213                {
00214                     //elec 2
00215                    npart++;
00216                    ilink2=gp;
00217                }
00218                else 
00219                {
00220                    cout << " pas possible d'avoir 3 electrons rattaches au Zprime " << endl;
00221                }
00222          } 
00223     }
00224     XANAGeneratorParticle *gZprim = (XANAGeneratorParticle *)((*genpart)[izprime]);
00225     XANAGeneratorParticle *gElec1 = (XANAGeneratorParticle *)((*genpart)[ilink1]);
00226     XANAGeneratorParticle *gElec2 = (XANAGeneratorParticle *)((*genpart)[ilink2]);
00227 
00228     float ZMassGen=gZprim->getMass();
00229     float eeMassGen=RSMassGen(gElec1,gElec2);
00230     float costhetaGen = RSdistribAngGen(gElec1,gElec2);
00231 
00232     histo1000->Fill( eeMassGen/1000.);
00233     histo2000->Fill( eeMassGen/1000.);
00234     histo3000->Fill( eeMassGen/1000.);
00235     histo4000->Fill( eeMassGen/1000.);
00236     histo5000->Fill( eeMassGen/1000.);
00237 
00238     histo1001->Fill( ZMassGen/1000.);
00239 
00240     histo2001->Fill( ZMassGen/1000.);
00241     histo2003->Fill( ZMassGen/1000.);
00242     histo2005->Fill( ZMassGen/1000.);
00243     histo2007->Fill( ZMassGen/1000.);
00244     histo2009->Fill( ZMassGen/1000.);
00245     
00246     histo3001->Fill( ZMassGen/1000.);
00247     histo3003->Fill( ZMassGen/1000.);
00248     histo3005->Fill( ZMassGen/1000.);
00249     histo3007->Fill( ZMassGen/1000.);
00250     histo3009->Fill( ZMassGen/1000.);
00251 
00252     histo4001->Fill( ZMassGen/1000.);
00253     histo4003->Fill( ZMassGen/1000.);
00254     histo4005->Fill( ZMassGen/1000.);
00255     histo4007->Fill( ZMassGen/1000.);
00256     histo4009->Fill( ZMassGen/1000.);
00257    
00258     histo5001->Fill( ZMassGen/1000.);
00259     histo5003->Fill( ZMassGen/1000.);
00260     histo5005->Fill( ZMassGen/1000.);
00261     histo5007->Fill( ZMassGen/1000.);
00262     histo5009->Fill( ZMassGen/1000.);
00263 
00264     histo1004->Fill( costhetaGen );
00265     histo1006->Fill( costhetaGen );
00266 
00267     // Reconstructed event
00268     
00269     // Definitions
00270     Short_t nc = 0, nh = 0, nhc = 0, npc = 0,  nt = 0, nv = 0, nvt = 0;
00271     Short_t nm = 0, nelt = 0 ;    
00272   
00273 
00274     nc  = event->getNumberOfEmClusters();         clusters = event->getEmClusters(); 
00275     nh  = event->getNumberOfTrackHits();          hits = event->getEmClusterHits();   
00276     nhc = event->getNumberOfHadClusters();        hadClusters = event->getHadClusters();   
00277     ns_supercluster  = event->getNumberOfSuperClusters(); 
00278                                                   superClusters = event->getSuperClusters(); 
00279     npc = event->getNumberOfPreshClusters();      preshClusters = event->getPreshClusters(); 
00280     nt  = event->getNumberOfTracks();             tracks = event->getTracks();
00281     nv  = event->getNumberOfVertices();           vertices = event->getVertices();   
00282     nvt = event->getNumberOfVertexTracks(); 
00283     ne_candidatelectron  = event->getNumberOfElectronCandidates(); 
00284                                                   electrons = event->getElectronCandidates(); 
00285     nm  = event->getNumberOfMuonCandidates();     muons = event->getMuonCandidates(); 
00286     nelt    = event->getNumberOfElectronTracks(); electronTracks = event->getElectronTracks();
00287 
00288 
00289     
00290     // electrons
00291     Int_t indexel1=-1, indexel2=-1;
00292     
00293     // Selection des 2 candidats electrons les plus energetiques
00294 
00295     RSSelection(indexel1, indexel2);
00296 
00297     // On ne travaille qu'avec les 2 Candidats Electrons les + energetiques
00298     
00299     if (indexel1>-1 && indexel2>-1)
00300     {
00301                XANAElectronCandidate *elec1 = (XANAElectronCandidate*)((*electrons)[indexel1]);
00302                XANAElectronCandidate *elec2 = (XANAElectronCandidate*)((*electrons)[indexel2]);
00303               
00304                float energy1 =elec1->getSuperClusterEnergy()/elec1->getSuperCluster()->getEnergyScaleFactor();
00305                float eta1    =elec1->getSuperCluster()->getPosition().eta();
00306                float phi1    =elec1->getSuperCluster()->getPosition().phi();
00307                
00308                float energy2 =elec2->getSuperClusterEnergy()/elec2->getSuperCluster()->getEnergyScaleFactor();
00309                float eta2    =elec2->getSuperCluster()->getPosition().eta();
00310                float phi2    =elec2->getSuperCluster()->getPosition().phi();
00311               
00312                // Traitement de la saturation
00313                int iflag_satur=0;
00314                RSSaturation(elec1, energy1, iflag_satur);
00315                RSSaturation(elec2, energy2, iflag_satur);              
00316                
00317                // Association des photons
00318                float EtIsol1=0.;
00319                float EtIsol2=0.;
00320                RSAssocPhoton(elec1, energy1, EtIsol1);
00321                RSAssocPhoton(elec2, energy2, EtIsol2);
00322                
00323                // Correction de l'energie pour eta
00324                
00325                bool FAMOS=true;
00326                float xcor1=RSCorrectionFunc(energy1,  eta1,  FAMOS);
00327                float xcor2=RSCorrectionFunc(energy2,  eta2,  FAMOS);
00328                xcor1=1./xcor1;
00329                xcor2=1./xcor2;
00330                energy1*=xcor1;
00331                energy2*=xcor2;
00332                
00333                // Candidat RSElec
00334                
00335                RSElec *cElec1 = new RSElec(elec1,energy1,eta1,phi1,EtIsol1);
00336                RSElec *cElec2 = new RSElec(elec2,energy2,eta2,phi2,EtIsol2);
00337 
00338                 // Masse Reconstruite
00339                 float eeMassRec=RSMassRec(cElec1,cElec2);
00340                 
00341                 // Cut en iso (H/E pas encore dispo dans FAMOS 1_2_0)
00342                 if ( cElec1->getElecIsol()< 0.02* cElec1->getElecEt() &&
00343                      cElec2->getElecIsol()< 0.02* cElec2->getElecEt() )
00344                     {
00345                         float costhetaRec = RSdistribAngRec(cElec1,cElec2);
00346 
00347                         histo1002->Fill( eeMassRec /1000. );
00348                         histo1003->Fill( ZMassGen-eeMassRec);
00349                         
00350                         histo1005->Fill(costhetaRec);
00351                         histo1007->Fill(costhetaRec);
00352                         histo1008->Fill( costhetaGen-costhetaRec);
00353                         histo1009->Fill( costhetaGen-costhetaRec);
00354 
00355                         histo2002->Fill( eeMassRec /1000. );
00356                         histo2004->Fill( eeMassRec /1000. );
00357                         histo2006->Fill( eeMassRec /1000. );
00358                         histo2008->Fill( eeMassRec /1000. );
00359                         histo2010->Fill( eeMassRec /1000. );
00360                         
00361                         histo3002->Fill( eeMassRec /1000. );
00362                         histo3004->Fill( eeMassRec /1000. );
00363                         histo3006->Fill( eeMassRec /1000. );
00364                         histo3008->Fill( eeMassRec /1000. );
00365                         histo3010->Fill( eeMassRec /1000. );
00366 
00367                         histo4002->Fill( eeMassRec /1000. );
00368                         histo4004->Fill( eeMassRec /1000. );
00369                         histo4006->Fill( eeMassRec /1000. );
00370                         histo4008->Fill( eeMassRec /1000. );
00371                         histo4010->Fill( eeMassRec /1000. );
00372 
00373                         if (iflag_satur==0)
00374                         {
00375                           histo5002->Fill( eeMassRec /1000. );
00376                           histo5004->Fill( eeMassRec /1000. );
00377                           histo5006->Fill( eeMassRec /1000. );
00378                           histo5008->Fill( eeMassRec /1000. );
00379                           histo5010->Fill( eeMassRec /1000. );
00380                         }
00381 
00382                         if (900<eeMassRec && eeMassRec<1100)
00383                         {
00384                           histo2011->Fill( costhetaGen );
00385                           histo2012->Fill( costhetaRec );
00386                           histo2013->Fill( costhetaGen );
00387                           histo2014->Fill( costhetaRec );
00388                         }
00389                         else if (2750<eeMassRec && eeMassRec<3250)
00390                         {
00391                           histo3011->Fill( costhetaGen );
00392                           histo3012->Fill( costhetaRec );
00393                           histo3013->Fill( costhetaGen );
00394                           histo3014->Fill( costhetaRec );
00395                         }
00396                         else if (4500<eeMassRec && eeMassRec<5500)
00397                         {
00398                           histo4011->Fill( costhetaGen );
00399                           histo4012->Fill( costhetaRec );
00400                           histo4013->Fill( costhetaGen );
00401                           histo4014->Fill( costhetaRec );
00402                           if (iflag_satur==0)
00403                           {
00404                             histo5011->Fill( costhetaGen );
00405                             histo5012->Fill( costhetaRec );
00406                             histo5013->Fill( costhetaGen );
00407                             histo5014->Fill( costhetaRec );
00408                           }
00409                         }
00410 
00411 
00412 
00413                     }
00414 
00415 
00416 
00417     }
00418 
00419 
00420     event->clear(); 
00421     generatorEvent->clear();
00422     geantEvent->clear();
00423   }
00424   
00425 //  f.Close();
00426   //
00427      TFile *filehisto = new TFile("Mass_0.root","RECREATE");
00428 
00429      histo1000->Write();
00430      histo1001->Write();
00431      histo1002->Write();
00432      histo1003->Write();
00433      histo1004->Write();
00434      histo1005->Write();
00435      histo1006->Write();
00436      histo1007->Write();
00437      histo1008->Write();
00438      histo1009->Write();
00439 
00440 
00441      histo2000->Write();
00442      histo2001->Write();
00443      histo2002->Write();
00444      histo2003->Write();
00445      histo2004->Write();
00446      histo2005->Write();
00447      histo2006->Write();
00448      histo2007->Write();
00449      histo2008->Write();
00450      histo2009->Write();
00451      histo2010->Write();
00452      histo2011->Write();
00453      histo2012->Write();
00454      histo2013->Write();
00455      histo2014->Write();
00456 
00457      histo3000->Write();
00458      histo3001->Write();
00459      histo3002->Write();
00460      histo3003->Write();
00461      histo3004->Write();
00462      histo3005->Write();
00463      histo3006->Write();
00464      histo3007->Write();
00465      histo3008->Write();
00466      histo3009->Write();
00467      histo3010->Write();
00468      histo3011->Write();
00469      histo3012->Write();
00470      histo3013->Write();
00471      histo3014->Write();
00472 
00473      histo4000->Write();
00474      histo4001->Write();
00475      histo4002->Write();
00476      histo4003->Write();
00477      histo4004->Write();
00478      histo4005->Write();
00479      histo4006->Write();
00480      histo4007->Write();
00481      histo4008->Write();
00482      histo4009->Write();
00483      histo4010->Write();
00484      histo4011->Write();
00485      histo4012->Write();
00486      histo4013->Write();
00487      histo4014->Write();
00488 
00489      histo5000->Write();
00490      histo5001->Write();
00491      histo5002->Write();
00492      histo5003->Write();
00493      histo5004->Write();
00494      histo5005->Write();
00495      histo5006->Write();
00496      histo5007->Write();
00497      histo5008->Write();
00498      histo5009->Write();
00499      histo5010->Write();
00500      histo5011->Write();
00501      histo5012->Write();
00502      histo5013->Write();
00503      histo5014->Write();
00504 
00505      
00506      filehisto->Close();
00507 
00508   
00509 }
00510 
00511 
00512 

Generated on Thu Oct 27 21:59:47 2005 for XANADOO by doxygen 1.3.5