...
No Format |
---|
CalRecon *calRec = rec->getCalRecon(); if (!calRec) return; TObjArray* xtalCol = calRec->getCalXtalRecCol(); Long64_t numXtal = xtalCol->GetEntries(); ((TH1F*)GetObjectPtr("CALXTALCOUNT"))->Fill((Float_t)numXtal); float totXE = 0.; for (int xc=0;xc<numXtal; xc++) { CalXtalRecData* xtal = (CalXtalRecData*)xtalCol->At(xc); float xtalEnergy = xtal->getEnergy(); ((TH1F*)GetObjectPtr("CALXTALE"))->Fill(xtalEnergy); if (xtalEnergy > 2000) { CalXtalId id = xtal->getPackedId(); int lyr = id.getLayer(); int twr = id.getTower(); int col = id.getColumn(); CalRangeRecData* rData = xtal->getRangeRecData(0); int range = rData->getRange(0); double ph0 = xtal->getEnergySelectedRange(range,0); std::cout << "twr, lyr, col = " << twr << " " << lyr << " " << col << " range " << range << " ph0 " << ph0 << " E " << xtalEnergy << std::endl; continue; } totXE += xtalEnergy; } ((TH1F*)GetObjectPtr("CALXTALTOTE"))->Fill(totXE); |
Addendum 3/9/2005 (BG)
Looking at the sum of the reconstructed deposited energy in the CAL divided by the sum of the MC deposited energy, vs the sum of the MC deposited energy, there are
a set of different populations. It is also clear that the effect doesn't set in before some energy level.
Now the same plot but showing the individual CDE Recon energy versus its MC energy. There is indeed a population of CDEs contributing in a strange but linear way. This can happen for more than 1 CDE per event.
To see if there is a particular set of CDEs that are the cause of this, this is a histogram with the number of occurencies where CDE #(96*twr+12*lyr+col) has E(recon)-E(MC)>1 GeV. All CDEs can be triggered by this effect, it seems to be only a function of MC energy.
Now cutting on those weird events it is visible that E(recon)-E(MC) = 4*E(MC) when it happens.