This maker was modified with a method called IdealToReal, which is inspired by the StSvtSimulationMaker.
The steps of this maker are :
loop over GEANT hits and take the track associated to this hit.
IdealToReal() method : project the GEANT track in the real wafer geometry.
the localPosition of the tHelix projection are not in the wafer active area, loop over neighboring ladders and wafers
Fill the StSsdPointList with these global projection of track.
Modified StMcSsdHitCollection with new hits : the hits that not pass the IdealToRealMethod() are flag with energy < 0.
We also attached the current track to this McSsdHit.
Convert the hit into fired strips
Fill slsStrip table that contains these informations.
In details :
method IdealToReal()
method convertGlobalFrameToOther() : call for another method from the barrel, e.g. convertGlobalToLocal()and convertLocalToUFrame().
Each methods are at a wafer level.
method chargeSharingOverStrips(): call for another method from the barrel, e.g. convertToStrip() method.
method WriteStripToTable() : it produces a sls_strip table that filled idTruth as the IdMcTrack
Comments about this maker
This maker is used for plain simulation and embedding. According to which, the geometry (simu or real) is used. Performing the method IdealToReal() with the plain simulation
should reject no hits (same geometry), except those in dead areas (there is one test IsOnWafer())
We rewrite the StMcSsdHitCollection where we flag GEANT hits with negative energy for hits that don't required the method IdealToReal().
There is a cut on the pathLength of the helix from the GEANT track when we project them on the real geometry (|pathLength|<5).
At this point, idMcHit (member of SlsStrip) is filled with the track Id. It will be used later for the IdTruth.
We write one histogram in this maker(it can be retrieved using the .hist.root file):
hRejected = new TH1F("hRejected","hits after removal / hits GEANT",110,0,1.1);
See next plot
Rejection of hits
Ratio of accepted hits over all GEANT hits : after mixing the 2 geom (step 2), some hits don't belong to any wafer
StSsdEmbeddingMaker
The purpose of this maker is to merge 2 datasets.
It looks if there are any datasets available : from the simulation, it is located at :
/SpaStrip/.data/spa_strip
For the real data, it is located at :
/SsdDaqMaker/.data/spa_strip
The task done in this maker are :
Merge the 2 datasets : basically, it consists in 3 loops, the 1st on the simulation and the 2nd on the real data. If the strip id are the same (e.g same strip of the same wafer of the same side), the merging is the sum of the 2 adc signal.
We continue after to fill the others strips (where the id is different) for the real data and simulation
a merged list of strips is then filled
Comments about this maker
We write 3 histograms in this maker (they can be retrieved using the .hist.root file).
hStripsSimu = new TH1F("hStripsSimu","Log_{10} of the number of strip after dAQ cut in simulation",100,0,10);
hStripsReal = new TH1F("hStripsReal","Log_{10} of the number of strip after dAQ cut in real data",100,0,10);
hStripsCommon = new TH1F("hStripsCommon","number of strips in common from real file and simu file",1000,0,1000);
StSsdBarrel.cc
The last modification is in the PointMaker.
The method StSsdBarrel::writePointToContainer() writes hits in StEvent. This method starts to look for idMcHit (only used in simulation). So if there is no mcEvent, it does notperform the search of idMcHit.
Then we also fill the quality of hits using the charge from the GEANT track (this is why I need an McEvent) and the charge of reconstructed clusters.
Until now, the quality use only clusters on P-Side ; I get very slight differences using clusters on N-Side.
Method
The quality is defined as 100*(charge_from_GEANT)/(charge_of_reconstructed_cluster).
For each hit (where IdMcHit is different from 0), I look at the charge of the reconstructed clusters (P-Side).
Then for this cluster, I take only the signal of the strips where IdMcHit is the same (by this way, I take only the strips of this cluster fired by the GEANT particle)