Heavy Ion Exclusive Upsilon Dileptons Analysis Code


This page details the software used for the analysis of exclusive upsilon production in heavy ion events, via the dilepton decay channel. For the main TWiki page for this analysis, see HiExclusiveUpsilonDileptons.

Software details:

We do our first analysis with CMSSW_1_8_0 for dimuon and CMSSW_2_0_8 for dielectron channel. Final analysis is done in CMSSW_2_1_4 because CMSSW_2_1_X series is used for early data taking in CMS.

Analysis Procedure:

The data's were produced by Starlight.The original data's were like this :
EVENT:          1       2       1 

VERTEX:   0.0000       0.0000       0.0000       0.0000          1      0      0      2 
TRACK:      2  0.96130      0.51132     -0.91207          1      1      0    -11 
TRACK:      3  -1.0168     -0.52263      -6.7161          2      1      0     11 
Here is a macro which read the starlight file and draw histograms for dimuon( dielectron) mass , Pt , Rapadity and Phai disstributions. Here we can get example disstributions of Inv mass, Pt, Rapadity and Phai for dimuon continum case(gamma+gamma-->mu+mu-) .This we used to see the disstributions on MC genrator lavel .Now we change this data to Hepmc formet ,a formet that can be read by CMSSW.Here is the macro which is used to change the Starlight formet of data to Hepmc formet .
Hepmc formet looks like

E 1 -1.0000000000000000e+00 -1.0000000000000000e+00 -1.0000000000000000e+00 20 1 1 0 0
V 1 0 0 0 0 0 0 2 0
P 1 -11 1.028 -3.2749 4.8118 5.9106 1 0 0 0 0
P 2 11 -1.0007 3.2846 -2.657 4.34162 1 0 0 0 0
explantion for this formet can be found in last of the conversion macro.Now this Hepmc tex file can be read by CMSSW using

process.source = cms.Source("MCFileSource",
 catalog = cms.untracked.string('PoolFileCatalog.xml'),
 fileNames = cms.untracked.vstring('file:starlight_pbpb_up1s.mumu.hepmc-00.dat')
Full macro used for reading hepmc formet file and changing it to a root file is here
This root file is used for further reconstruction . in our final analysis we do simulation ,digitization and reconstruction in one go. we used a configuration file based on standard example file (Configuration/Examples/Python/FullChainExample.cfg_py).This file can be found for here for Muons.
Now electron reconstruction was not so strightforward.Beacuse standard electron collection (reco::GsfelectronCollection) was really tuned for high Pt electrons.By default it used a superculster Et cut of 5 Gev.more about electron reconstruction in CMSSW can be found here
As most of our electrons are low Pt CMSSW have only 5% (reco eff * Geo acceptance) for them .We discuss this thingh with electron reconstruction experts and then modify standard electron reconstruction sequence a little bit .Here is a link to Hypernews thread for modification of electron reconstruction sequence. Here is modified config file which we used for electron reconstruction in CMSSW_2_0_9.
Now because total reconstruction(sim+digi+reco) takes time ,so it was not possible to do it locally on lxplus.We do it in batch jobs on LXPLUS and also on GRID. Here is the racipe how we run the batch jobs and for grid here is crab file. This is the reconstruction procedure.
reconstructed root files can be found at
/castor/cern.ch/user/k/kumarv/CMSSW214/MuMu  (for muons) 

/castor/cern.ch/user/k/kumarv/CMSSW214/Elec  (for electrons) 

For our muon analysis we use reco::MuonCollection .This collection have basically three type of muons a) tracker muons b) calorimeter muons and c)global muons .Global muons are best because they are made by muon tracks in tracker and then these tracks are combined with tracks in muon chambers aka standalone muons .more about muon reconstruction can be found here .

We note one intresting thingh during our muon analysis .Muon momentum reconstruction seems better ,if we take track only in cms tracker and do not include the muon chamber part . Here is the persentation showing the diffrence slide 6-7. But we can not trigger the tracks which are only in the tracker. We found a middle path, we used global muons from muon collection but for kynamatic quantites we use the fit which was in tracker only.This is the procedure to do this

 // muon collection
  edm::Handle<MuonCollection> tmuons;
  iEvent.getByLabel( "muons", tmuons );
  for (reco::MuonCollection::const_iterator muon = tmuons->begin(); muon != tmuons->end(); ++muon) {  
    //if( muon->(!isStandAloneMuon()) && muon->isGlobalMuon()){
    // if(muon->isTrackerMuon()){
    //TrackRef tt = muon->combinedMuon(); //global muon refrence


      reco::TrackRef tt = muon->innerTrack();
      float pt = tt->pt();
      float eta=tt->eta();
cross sections predicted by starlight and no of events for one month LHS running (0.5 nb-1 integrated luminosity ) {with at least one neutron emission )
is as follows
                cross section               BR(%)          no of events

Y(1s)             78 micro barn              2.4%             936

Y(2s)             33 micro barn              1.9%             313

Y(3s)             23 micro barn              2.2%             253

DiMuonCont        0.6 m barn                 100%             300000 

DiElecCont        1.4 m barn                 100%             700000

Here is a link for my persentation in CMSHI meeting showing kynamatical disstributions for upsilon and inv mass disstributions for bkg and signal. Upsilon Pt reconstruction shows some artifact in high momentum side .This is because we have sharp cut in muon pt at 5 GeV because of mass lemit of Upsilon (~10GeV) {note that in these reactions upsilons produce at very small Pt} . Signal and background events are properly scaled according to their cross-sections for 0.5 nb-1 integrated luminosity, while mixing .Here is the final inv mass disstribution for sig+Bkg and background subtracted signal. You can get the root macro which i used for fitting here

As we know Electron reconstruction will not as good as muons in CMS, because they loose energy in tracker by intrecting tracker material before reaching to EMCAL.Here you ca n get more about electron reconstruction in CMS.Morever electrons coming from upsilon decay are low Pt .Thus total electron reco eff are small in comparison to muons.

For electron reconstruction we use reco::GsfElectronCollection ,this is standard electron collection having electron candidates which are built starting from ECAL super culsters and then matched to the tracker tracks. A special fitting technique known as Gaussian Sum Fitting is used which take care the energy radiated by electron in tracker.

This is the method to get the reconstructed electron collection in your edanalyzer

edm::Handle<GsfElectronCollection> gsfElectrons;
  int recelec=gsfElectrons->size();
  for (reco::GsfElectronCollection::const_iterator gsfIter=gsfElectrons->begin(); gsfIter!=gsfElectrons->end(); gsfIter++)
            pt =gsfIter->pt();

For every reconstructed electron you can get the track refrence here also ,but this does not work here better and kynamatical quantities are estimated from the energy diposited by electron in ECAL.

Here is the Inv Mass disstribution of Y(1s),Y(2s) and Y(3s) reconstructed and mixed properly according to the MC predictions.As we got Upsilon mass resolution ~200 MeV all three peaks merged.Also cross section of dielectron continum is more than the Dimuoncontinum .Here is dielectron continum mass disstribution. I mixed Y(1s) and dielectron continum .this is Sig+DiElecCont and here is Continum subtrckted Signal

We can see that due to large dielectron continum cross section and small electron reconstruction efficencies this will be chalanging to extract upsilon signal in dielectron decay channal.

Trigger studies for Ultra Peripheral Collisions

UPC have following spacifications which can be used for triggering them:
  1. A large rapidity gap between the produced state and interacting nuclei.
  2. Forward emission of neutron(s)
  3. Very low global multiplicities ,two back to back tracks (almost empty central detector)
  4. Relatively narrower rapidity distribution centered at mid rapidity
On the basis of these basic characteristics we purpose following CMS L1 primitives as part of UltraPeripheral Trigger
  • Veto (‘OR’) on signals in forward hadron calorimeters towers (3<|eta|<5) above the default energy threshold (HF+ .OR. HF-) {to insure a large rapidity gap in one or both hemisphare}
  • Energy deposition in ZDC+ or ZDC- above the default threshold in normal PbPb running {to tag coulomb break up via GDR neutron deexcitation }
  • Hit(s) in muon RPCs (|eta|<2.4) or CSCs (0.8<|eta|<2.4) ,no minimum Pt cut for track as defined in standard PbPb dimuon trigger
Also we study two standard HLT paths
1. HLT_Mu3
2. HLT_DoubleMu3
First a raw file is made using RelVal Digi_Digi2Raw_cfg.py for 10000 Upsilon(1s)-->mu mu events in CMSSW_2_1_11.( Source is changed to HepMc Source to read Ascii file) but when i run a test HLT Path on these digitize events it was seen that all the events drops at L1 level.In a detailed error report i got some eroor messeage as

 Begin processing the 1st record. Run 1, Event 1, LumiSection 1 at 28-Oct-2008 09:55:46 CET
[TriggerTypeFilter] trigger type mismatch. FED=0, TCS=5
Begin processing the 2nd record. Run 1, Event 2, LumiSection 1 at 28-Oct-2008 09:55:47 CET
[TriggerTypeFilter] trigger type mismatch. FED=0, TCS=5
28-Oct-2008 09:55:48 CET  Closed file file:HepMc_Pure_Raw.root
%MSG-i PrescaleSummary:  PostSource 28-Oct-2008 09:55:49 CET Run: 1 Event: 10
0/0 (0% of events accepted).
This error produced by the filter module hltTriggerType in the BeginSequence of every path:
sequence HLTBeginSequence = { hltTriggerType & hltGtDigis & ...}
The TriggerType filter is a filter meant for online use. It filters events based on the type of data the DAQ is delivering:
1 = physics
2 = calibration
3 = random
The problem is hltTriggerType reads from a FED (812) which is for online use and not usually properly simulated in offline MC production. And since it is at the beginning of every path, if this filter fails,we will get 0 L1 accepts, and hence 0 HLT accepts for all HLT paths. But it is not a big problem because for offline, all data are "physics" type data. So we can just take out the filter .
 _#process.HLTBeginSequence = cms.Sequence( process.hltTriggerType + process.hltGtDigis + process.hltGctDigis + process.hltL1GtObjectMap + process.hltL1extraParticles + process.hltOfflineBeamSpot )
process.HLTBeginSequence = cms.Sequence(process.hltGtDigis + process.hltGctDigis + process.hltL1GtObjectMap + process.hltL1extraParticles + process.hltOfflineBeamSpot )_
now every thingh goes fine and we calculate trigger efficiancies for both HLT Paths as
 _TrigReport ---------- Event  Summary ------------
TrigReport Events total = 10000 passed = 4279 failed = 5721
TrigReport ---------- Path   Summary ------------
TrigReport  Trig Bit#        Run     Passed     Failed      Error Name
TrigReport     1    0      10000       4279         5721             0 HLTMu3_
HLTMu3 Eff =42.7 %

 _TrigReport ---------- Event  Summary ------------
TrigReport Events total = 10000 passed = 1786 failed = 8214
TrigReport ---------- Path   Summary ------------
TrigReport  Trig Bit#        Run     Passed     Failed      Error Name
TrigReport     1    0      10000       1786       8214          0 HLTDoubleMu3_
HLTDoubleMu3 Eff =17.8 %
We also try to use a new HLT Path HLTDoubleMu0 (Under disscussion for HI) to observe the gain in trigger efficency.For HLTDoubleMu0 we have to change L1 Menu in
CMS.RelVal Digi_Digi2Raw_cfg.py
 _ _# Choose a menu/prescale/mask from one of the choices in L1TriggerConfig.L1GtConfigProducers.Luminosity
# L1 GT EventSetup
but we does not see a significant increase in efficiancy
 _ _HLT-Report ---------- Event  Summary ------------
HLT-Report Events total = 25000 wasrun = 25000 passed = 25000 errors = 0
HLT-Report ---------- HLTrig Summary ------------
HLT-Report  HLT  Bit#     WasRun     Passed     Errors Name                
HLT-Report          0      25000       5046          0 HLT_Double0    
HLT-Report          1      25000      25000          0 MyTimer
HLT-Report end!__
_HLT_DoubleMu0 =20.2%.
This may be due to the input disstribution of muons?Because we does not have much muons below 3Gev in input.
We have also calculated trigger efficiancies for dimuon Bkg (gamma+gamma-->mu+mu) events
TrigReport ---------- Event  Summary ------------
TrigReport Events total = 50000 passed = 1126 failed = 48874
TrigReport ---------- Path   Summary ------------
TrigReport  Trig Bit#        Run     Passed     Failed      Error Name
TrigReport     1    0      50000       1126      48874          0 HLT_DoubleMu3
TrigReport -------End-Path   Summary ------------</font>
TrigReport  Trig Bit#        Run     Passed     Failed      Error Name

Trigger efficiancy for Dimuons bkg is HLT_DoubleMu3 ~ 2.53%

Electron reconstruction using particle flow technique

Electron reconstruction in CMS is not as straight forward as muons.Electrons are built starting from a supercluster in ECAL.The supercluster is first matched to hits in the pixel detector. This matching takes advantage of the fact that the energy-weighted average impact point of the electron and its bremstrahlung photons is precisely where a non-radiating track would have impacted the ECAL. The position measured by the supercluster can thus be used to predict the position of hits in the pixel detector. Since most of the material of
the tracker lies after the pixel layers, most of the electrons have not radiated significantly before them and most photon conversion takes place after them. So matching hits are given by most electrons and by few photons. The pixel hits are used to seed track finding. The track fit is performed using a Gaussian Sum Filter, which allows the track to be reconstructed right out to the ECAL surface, despite kinks due to radiated bremsstrahlung. The electron object contains reference to both the track and the supercluster. The four-vector is obtained by combining information from the track and SuperCluster weighted according to measurement uncertainties.
ectron reconstruction efficiency in CMS is nearly 90 % for electron pt greater than 5 GeV. But mostly electrons coming from Upsilon have pt less than 5 GeV.Electrons coming from dielectron continuum also have small pt. Thus Upsilon reconstruction efficiencies are found very small in electron decay channel.As we get very small reconstruction efficiencies for low Et electrons. We tried ParticleFlow tools for electron reconstruction.They claim a significant increase from 15% to 80% at Pt =4 Gev.(link ) .But that technique was used only for |Eta|<1.0.
A short description of ParticleFlow(PF) reconstruction technique is given below.
PF technique of electron reconstruction :
The aim of the particle flow is to provide a single list of reconstructed particles, which can be of type
charged hadron
neutral hadron
This list constitutes a complete description of the event and is as easy to use as the list of true particles from the simulation.The core of the particle flow algorithm reconstructs photons,electrons,charged hadrons, and neutral hadrons. This consist
i) calorimeter clustering (ECAL, HCAL, PS)
The official i sland, hybrid, and superclustering algorithms are adapted to the reconstruction of high energy, isolated particles.These algorithms are not optimal to deal with the
low energy particles. A special "Eflow" clustering algorithm has been designed and optimized to reconstruct particles with small Et. PFClusters are made using this Eflow algorithm
ii)Track reconstruction and extrapolation to the calorimeters

In the standard KF (Kalman Filter) based track reconstruction applied in CMS, the tracks are required to be reconstructed with a minimum of eight hits, a maximum of one layer missed along the trajectory and a transverse momentum in excess of 900 MeV/c. These settings are far from being optimal for electrons, because of the high probability to have an energetic photon emitted before eight layers are crossed. For this reason, an iterative approach was developed For each iteration the following operations are repeated
(i) A seeding condition is defined, looser than in the previous iterations
(ii) Seed tracks are reconstructed
(iii) Tracks incompatible with coming from one of the primary vertices are rejected
(iv) Hits used by tracks reconstructed in this iteration. are removed from further considerations
output of this step is PFRecTracks
iii) PFBlock reconstruction
The input is a set of " particle flow elements ", of the following types
  • PFRecTracks, extrapolated to the calorimeters
  • PS1 clusters
  • PS2 clusters
  • ECAL clusters
  • HCAL clusters
The algorithm starts on a particle flow element in the set, and creates a PFBlock to hold this element. Then, it moves to another element and tests whether this element is "linked" to one of the block elements. If yes, the new element is added to the block, and removed from the set of elements to be processed. When no more element can be added to the block, the block is saved, and a new block is created. The algorithm stops when the set of particle flow elements is empty. Various linking criteria can be used to decide whether two elements are
The Link by chi^2 is the most common criterion. A normalized distance is computed between the two elements. For example, between a cluster in ECAL and the extrapolated impact position of a track in the ECAL, or between a cluster in ECAL and a cluster in HCAL in (eta,phi). The normalized distance takes into account the space resolution of the calorimeters.
The Link by rechit can be used to link a track to a cluster, in case the extrapolated impact position of the track is on the front face of one of the rechits used in the cluster.
The resulting PFBlocks contain a vector of PFBlockElements. Depending on its type, a PFBlockElement contains a reference to both a ' reco::Track' and a ' reco::PFRecTrack' or a 'PFCluster
iv) Particle reconstruction
The input is a collection of PFBlocks. The various collections of elements used in the block reconstruction must be present in the event. The output is collection of PFCandidate
following type

 *Particle::pdgId                      PFParticleType                                    Particle* 

_0                                              X                                     unknown,or dummy_ 
_+11,-11                                        e                                     electron_ 
_+13,-13                                        mu                                    muon_ 
_22                                             gamma                                 photon_ 
_+211,-211                                      h                                     charged hadron_ 
_130                                            h0                                    neutral hadron_ 

The PFCandidates class have all the information that is necessary in the analysis, or in higher level algorithms. The main PFCandidate datamembers are:
1. the particle type, as identified by the particle flow identification algorithms.
2. the 4-momentum, calibrated according to the particle type.
3. estimated energy deposits in the preshower, in ECAL, and in HCAL. These values are ready to use since the algorithm is able to separate overlapping particles, and performs a calibration.
4. various flags, which can be useful in the analysis.
the PFCandidate class also links to all the objects that were used in its construction. Also it have references to external reconstruction objects,if needed.

Here a table showing increase in the electron reconstruction efficency using Particle Flow electron collection

                                     GSF Collection                                                       PF Collection   
(|eta|< 1.0, pt>0  )                 26 %                                                                 63 % 
(|eta| no cut ,pt>0)                 22 %                                                                 39 %

Also Upsilon and dielectron continuum reconstruction efficiencies increases. Here is a table showing increases

                                     GSF Collection                                                       PF Collection
Upsilon                              10 %                                                                 19 % 
dielectron continuum                 0.6 %                                                                1.4 %
As we see from Table that using Particle Flow electron collection we got increase in Upsilon reconstruction efficiency but this increase is more prominent in dielectron continuum. This is so because PF Techniques works best for low pt electrons and dielectron continuum have mostly all the electrons concentrated in low pt. Also mass resolution is not as good as for GSF Electron collection. It shows a tail in low mass range as evident from Figure DielecMinv.eps . As mass resolution is not good so it
is not possible to resolve all three members of Upsilon family ie Upsilon(1s), Upsilon(2s) and Upsilon(3s). We reconstruct Upsilon(1s) and dielectron continuum
according to their cross sections predicted by STARLAIGHT} MC for integrated luminosity 0.5 (nb)^{-1}.
Figure DielecY.eps , DielecPt.eps shows dN/dy and dN/dpt distributions for Upsilon. Figure ElecBkgPlusSig.eps shows dN/dM distribution of Upsilon(1s) and dielectron continuum mixed for L= 0.5 (nb){-1}. Figure ElecBkgSubSig.eps ,shows Invariant mass distribution of Upsilon(1s) after subtraction of dielectron continuum. Peak position is 9.2 GeV/c^{2} and mass resolution is found 150 MeV/c^{2}. We can see that due to large dielectron continuum production cross section and small electron reconstruction efficiency it will be challenging to extract Upsilon signal over dielectron background.

Coherent lepton pairs production in two photon processes :

The most significant background for these measurements is coherent lepton pair productions in two photon processes, shown in Fig qed.eps. However, from the physics point of view, this dilepton continuum allows to study QED in a non-perturbative regime. For heavy ions, the lepton continuum production probabilities are close to one and lowest order perturbative calculations of the cross sections violate unitarity. More detailed calculations involving higher order processes, such as the exchange of multiple photons (Coulomb distortion) and the production of multiple pairs as shown in Fig. These processes are important for collisions at small impact parameters for which diverse theoretical models have been considered. Although many aspects of QED have been tested to high precision, studies involving strong fields (Z * alpha ~1) are less advanced. With the availability of machines like RHIC and LHC, interest in this process has grown. In a publication data were presented by the RHIC STAR collaboration on ``Production of e+e- pairs accompanied by nuclear dissociation in ultraperipheral heavy-ion collisions''. In this publication the authors compared the experimental cross section with a lowest order QED calculation sigma_QED and concluded that at a 90 % confidence level, higher-order corrections to the cross section, must be within the range (-0.5 sigma_QED < DeltaSigma < 0.2 sigma_QED). While in another paper author shows that ,a new lowest order QED cross section calculation result significantly larger than that presented in the STAR publication. This new lowest order QED cross section is now two standard deviations above the STAR experimental result. Furthermore, it is found that a higher order QED calculation gives good agreement with the experimental result. Thus the situation is not very clear theortically as well as experimental. With the advancement of Particle Flow Technique of electron reconstruction in CMS, reconstruction efficiency of low pt electron pair is increased nearly two fold. As we see that mostly electrons coming from dielectron continuum are low pt. We proposed reconstruction of dielectron continuum at more higher energies than RHIC to test higher order QED contributions.


High-energy quarkonia photo production provides a particularly useful means to constrain the poorly known low-x gluon distribution of the nucleus in the clean
environment of ultra-peripheral (electromagnetic) ion-ion collisions. Gluon saturation effects in the small-$x$ domain of the nuclear wave function are expected to result in a suppression of hard exclusive diffraction yields relative to linear QCD expectations. We have reconstructed full Upsilon family in both electron and mu decay channel. A detailed study for geometrical acceptance and reconstruction efficiency is done. It is found that reconstruction efficiency increases 50 % to 57 % for Upsilon(1s) to Upsilon(3s). For dimuon continuum reconstruction efficiencies are 8.3 %. Standard HLT path HLTMu3 is used to trigger events and trigger efficiency is found Upsilon trigger efficiency is 42 % while for dimuon continuum it is very small only 5 %. Thus a lot of dimuon continuum events get rejected in trigger. Total reconstruction efficiency (geometrical acceptance * Trigger efficiency * reconstruction efficiency) is found 35 % for Upsilon family and 4% for dimuon continuum. We mix dimuon continuum and Upsilon events for L=0.5 (nb)^{-1}. It is found that whole Upsilon family can be reconstructed over dimuon continuum with good resolution. While in electron decay channel mass resolution is not so good to reconstruct whole Upsilon family separately. Also due to large production cross section of dielectron background it will be very challenging to extract Upsilon signal over dielectron background. But dielectron continuum itself is a interesting physics signal,we reported that by using Particle Flow method of electron reconstruction we can increase dielectron continuum reconstruction efficiency nearly twice. Thus dielectron continuum can be reconstructed at energies never reached before.

Review status

Reviewer/Editor and Date Comments
PhilipAllfrey - 28 Aug 2009 page moved as part of documentation review
VineetKumar - 14 Jul 2009 updated
DavidDEnterria - 14 Sep 2008 created page

Responsible: VineetKumar

Topic attachments
I Attachment History Action Size Date Who Comment
Unknown file formateps DielecMinv.eps r1 manage 11.0 K 2009-07-14 - 06:53 VineetKumar  
Unknown file formateps DielecPt.eps r1 manage 9.5 K 2009-07-14 - 06:56 VineetKumar  
Unknown file formateps DielecY.eps r1 manage 8.6 K 2009-07-14 - 06:55 VineetKumar  
Unknown file formateps ElecBkgPlusSig.eps r1 manage 27.6 K 2009-07-13 - 14:57 VineetKumar  
Unknown file formateps ElecBkgSubSig.eps r1 manage 23.3 K 2009-07-14 - 07:00 VineetKumar  
Unknown file formatsxi PF.sxi r1 manage 11.4 K 2009-01-14 - 08:20 VineetKumar  
Texttxt RelVal_Digi_Digi2Raw_cfg.py.txt r1 manage 2.9 K 2009-01-13 - 13:27 VineetKumar File to make HepMc-->Raw data
Unknown file formateps qed.eps r1 manage 205.2 K 2009-07-14 - 08:00 VineetKumar  
Edit | Attach | Watch | Print version | History: r12 < r11 < r10 < r9 < r8 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r12 - 2009-08-28 - PhilipAllfrey
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CMSPublic All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback