venerdì 31 agosto 2007

Zone Division

Here you are the last improvements in defining the regions in ecal/encap and ecal/barrel...

we are sorry for the orrible colours
Now let's go for results!

giovedì 30 agosto 2007

first control of zone division


As now we can only get the picture of the region division of the EB in the InvMatrixLooper file.

mercoledì 29 agosto 2007

Definition of Regions

Finally we manage to define the regions in a clever way... now from the .cfg file you can choose every interval you desire... here you are some plots, we choose some interesting angles to test the algorithm:


the green region is the selected one
the red region is the rejected one through phi
the missing-color region is rejected through the radius
the blue one... there's no detector!

come leggere / scrivere coefficienti nel framework

Per qualunque informazione che non sia nel singolo evento, in CMSSW ci sono 3 entita' definite.

- la classe che contiene i coefficienti, che il framework passa all'utente
- una classe Source che costruisce i coefficienti da passare all'utente
- una classe Record che, credo, serve per registrare nel framework l'informazione che deve essere in grado di passare
all'utente un oggetto che contiene i coefficienti attraverso un Source.

Con Luca abbiamo trovato un record:

http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/CondFormats/DataRecord/interface/EcalIntercalibConstantsRcd.h?revision=1.1&view=markup

un oggetto che contiene i coefficienti:

http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/CondFormats/EcalObjects/interface/EcalIntercalibConstants.h?revision=1.2&view=markup

ed il source:

http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/CalibCalorimetry/CaloMiscalibTools/interface/CaloMiscalibTools.h?revision=1.2&view=markup
http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/CalibCalorimetry/CaloMiscalibTools/plugins/CaloMiscalibTools.cc?hideattic=0&revision=1.1&view=markup&pathrev=V00-01-01

(NB che il .cc e' in plugins!)

martedì 28 agosto 2007

Endcap Regions

Today I solved the problem of dividing correctly the endcap... here are some plots; the region of interest is the red one, while the others are forbidden.




Still remains the problem between 359° and 0°... but I'll perform a rotation and place the 0° starting point between the two Ds of the endcap.



Soon news.
d

lunedì 27 agosto 2007

dati di fast simulation scalibrati

ho provato a generare con la fast simulation 5K eventi nell'endcap, ora abbiamo, in

/castor/cern.ch/user/g/govoni/ECALCalib/fastSim/test/calib

i dati calibrati per EB ed EE, in

/castor/cern.ch/user/g/govoni/ECALCalib/fastSim/test/scalib05

i dati scalibrati per EB (presto) ed EE

come leggere il preshower

i link:

http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/RecoEcal/EgammaClusterProducers/interface/PreshowerAnalyzer.h?revision=1.3&view=markup
http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/RecoEcal/EgammaClusterProducers/src/PreshowerAnalyzer.cc?revision=1.4&view=markup

(forse) con questa riga nel BuildFile:



con gli include:

#include "DataFormats/EgammaReco/interface/PreshowerCluster.h"
#include "RecoEcal/EgammaClusterProducers/interface/PreshowerClusterProducer.h"

con i parametri:

preshClusterCollectionX_ = ps.getParameter("preshClusterCollectionX");
preshClusterCollectionY_ = ps.getParameter("preshClusterCollectionY");
preshClusterProducer_ = ps.getParameter("preshClusterProducer");

con li codice:

// Get ES clusters in X plane
Handle pPreshowerClustersX;
evt.getByLabel(preshClusterProducer_, preshClusterCollectionX_, pPreshowerClustersX);
const reco::PreshowerClusterCollection *clustersX = pPreshowerClustersX.product();
h1_nclu_x->Fill( clustersX->size() );
//std::cout << "\n pPreshowerClustersX->size() = " <<>size() <<> pPreshowerClustersY;
evt.getByLabel(preshClusterProducer_, preshClusterCollectionY_, pPreshowerClustersY);
const reco::PreshowerClusterCollection *clustersY = pPreshowerClustersY.product();
h1_nclu_y->Fill( clustersY->size() );
//std::cout << "\n pPreshowerClustersY->size() = " <<>size() << e1 =" 0;" esclus =" clustersX-">begin();
esClus !=clustersX->end(); esClus++) {
e1 += esClus->energy();
h1_esE_x->Fill( esClus->energy() );
h1_esEta_x->Fill( esClus->eta() );
h1_esPhi_x->Fill( esClus->phi() );
h1_esNhits_x->Fill( esClus->nhits() );
}

float e2 = 0;
for(reco::PreshowerClusterCollection::const_iterator esClus = clustersY->begin();
esClus !=clustersY->end(); esClus++) {
e2 += esClus->energy();
h1_esE_y->Fill( esClus->energy() );
h1_esEta_y->Fill( esClus->eta() );
h1_esPhi_y->Fill( esClus->phi() );
h1_esNhits_y->Fill( esClus->nhits() );
}

float deltaE = 0;
if(e1+e2 > 1.0e-10) {
// GeV to #MIPs
e1 = e1 / mip_;
e2 = e2 / mip_;
deltaE = gamma_*(calib_planeX_*e1+calib_planeY_*e2);
}

h1_esDeltaE->Fill(deltaE);

OPPURE, PIU' SEMPLICEMENTE:

SuperCluster::preshowerEnergy ()
http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/DataFormats/EgammaReco/interface/SuperCluster.h?revision=1.10&view=markup

link utile sull'uso di CASTOR

http://castor.web.cern.ch/castor/DOCUMENTATION/CASTOR2_DEPLOYMENT/FILES/Commands_in_CASTOR2_v_s_CASTOR1.html

Bugs, Fixs, to be fixed

Watching this plot of the events in function of eta and phi, we found that the eta shifter was not working properly.

As you can see the selected region (green) in eta is from -1 to 4, but in cfg file we selected 0 to 4... so etaShifter considered 0 as -1. This is now fixed.

We still have a problem, this assert: assert ((m_etaEnd-m_etaStart)%m_etaWidth == 0) ;
fails if the 0 cristal is included in the eta interval... so this has to be fixed. Right now the solution is to not include 0! ;-)

Another nice plot...
red region = all events
green region = selected events

giovedì 23 agosto 2007

New AlcaElectronTest running


Here are the graphs of EoP for the barrel and the endcap running on 3K events on the same data as before.

Now the energy is of the superCluster and the momentum is not the transverse anymore.

Tags & News

The last running version of InvMatrixLooper is tagged as "InvMatrixV1" in my personal CVS folder.


During these days I modifyed strongly the InvMatrixLooper.cc (affecting obviously the .h) chosing a slightly different way of matching ecalRecHits with PixelMatchGsfElectrons (a single loop on the PixelsMatch and a find for the ecalRecHits done on a function that fills the map). This new version compiles but it has some problems on running cause some exceptions. We're running (trying to run) over a sample built by Pietro.
d

AlcaElectronTest Running.








Two days ago I run the alcaElectron_test on CMSSW_1_6_0_pre9 on 10K events from the data in:
store/RelVal/2007/8/7/RelVal-Wenu-Calibration-1186512177/
and I got this root file:
AlCaElectronsTest.root
It is available in my public directory.

mercoledì 22 agosto 2007

primo test di generazione

rfdir /castor/cern.ch/user/g/govoni/ECALCalib/fastSim/test/SingleElectrons.root

martedì 21 agosto 2007

guida alla fast simulation

https://twiki.cern.ch/twiki/bin/view/CMS/WorkBookFastSimulation