#define PhotoFis_cxx #include "PhotoFis.h" #include #include #include void PhotoFis::Loop() { // In a ROOT session, you can do: // Root > .L PhotoFis.C // Root > PhotoFis t // Root > t.GetEntry(12); // Fill t data members with entry number 12 // Root > t.Show(); // Show values of entry 12 // Root > t.Show(16); // Read and show values of entry 16 // Root > t.Loop(); // Loop on all entries // // This is the loop skeleton where: // jentry is the global entry number in the chain // ientry is the entry number in the current Tree // Note that the argument to GetEntry must be: // jentry for TChain::GetEntry // ientry for TTree::GetEntry and TBranch::GetEntry // // To read only selected branches, Insert statements like: // METHOD1: // fChain->SetBranchStatus("*",0); // disable all branches // fChain->SetBranchStatus("branchname",1); // activate branchname // METHOD2: replace line // fChain->GetEntry(jentry); //read all branches //by b_branchname->GetEntry(ientry); //read only this branch if (fChain == 0) return; Long64_t nentries = fChain->GetEntriesFast(); NaiInt234=new TH1F("NaiInt","NaiInt",5,-0.5,3.5); Int_t NumBins=25; RefDetRun234=new TH1F("RefDetRun234","RefDetRun234",NumBins,0,800); Nai234=new TH1F("Nai234","Nai234",400,0,4000); Aup=new TH1F("Aup","Aup",NumBins,0,800); Cside=new TH1F("Cside","Cside",NumBins,0,800); Aside=new TH1F("Aside","Aside",NumBins,0,800); Cup=new TH1F("Cup","Cup",NumBins,0,800); AsideOverRefDetRun234=new TH1F("AsideOverRefDetRun234","AsideOverRefDetRun234",NumBins,0,800); CupOverRefDetRun234=new TH1F("CupOverRefDetRun234","CupOverRefDetRun234",NumBins,0,800); AupOverRefDet229=new TH1F("AupOverRefDet229","AupOverRefDet229",NumBins,0,800); CsideOverRefDet229=new TH1F("CsideOverRefDet229","CsideOverRefDet229",NumBins,0,800); Unity=new TH1F("Unity","Unity",NumBins,0,800); AupNorm=new TH1F("AupNorm","AupNorm",NumBins,0,800); CsideNorm=new TH1F("CsideNorm","CsideNorm",NumBins,0,800); AsideNorm=new TH1F("AsideNorm","AsideNorm",NumBins,0,800); CupNorm=new TH1F("CupNorm","CupNorm",NumBins,0,800); AsideNormSubCupNorm=new TH1F("AsideNormSubCupNorm","AsideNormSubCupNorm",NumBins,0,800); AsideNormAddCupNorm=new TH1F("AsideNormAddCupNorm","AsideNormAddCupNorm",NumBins,0,800); AsymAsideNormCupNorm=new TH1F("AsymAsideNormCupNorm","AsymAsideNormCupNorm",NumBins,0,800); Long64_t nbytes = 0, nb = 0; for (Long64_t jentry=0; jentryGetEntry(jentry); nbytes += nb; // if (Cut(ientry) < 0) continue; // printf("%d\n",evt_event); if(evt_LastADCval>2500) { if(evt_LastADCnum==1) { //NaiInt234->Fill(1); NaiInt234->Fill(1,evt_LastADCval); } if(evt_ADCnum==0) { RefDetRun234->Fill((evt_ADCval)*0.1675); //RefDetRun234->Fill(evt_ADCval); } if(evt_ADCnum==1) { Nai234->Fill((evt_ADCval)*0.1675); } if(evt_ADCnum==2) { Cup->Fill((evt_ADCval)*0.1675); //Cside->Fill((evt_ADCval)*0.1675); } if(evt_ADCnum==3) { Aside->Fill((evt_ADCval)*0.1675); //Aup->Fill((evt_ADCval)*0.1675); } } } // Normiling using Reference Detector AsideOverRefDetRun234->Divide(Aside,RefDetRun234); CupOverRefDetRun234->Divide(Cup,RefDetRun234); // AupOverRefDet229->Divide(Aup,RefDetRun229); // CsideOverRefDet229->Divide(Cside,RefDetRun229); Double_t Normalize=NaiInt234->GetEntries(); cout <<"Normalize = " << Normalize << endl; Int_t i; for (i=1;i<800;i++) Unity->Fill(i,Normalize*NumBins/800); // AupNorm->Divide(Aup,Unity,1,Normalize); // CsideNorm->Divide(Cside,Normalize); AsideNorm->Divide(Aside,Unity); CupNorm->Divide(Cup,Unity); AsideNormSubCupNorm->Add(AsideNorm,CupNorm,1.0,-1.0); AsideNormAddCupNorm->Add(AsideNorm,CupNorm); AsymAsideNormCupNorm->Divide(AsideNormSubCupNorm,AsideNormAddCupNorm,100.0,1.0); }