Size: 5180
Comment:
|
Size: 3289
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 12: | Line 12: |
The list is not yet complete, possibly several processors need to be added. | |
Line 13: | Line 14: |
---- /!\ '''Edit conflict - other version:''' ---- In a table like fashion. First for ADC based electronics: ---- /!\ '''Edit conflict - your version:''' ---- In a table like fashion. First for ADC based electronics: ---- /!\ '''End of edit conflict''' ---- |
In a table like fashion. First the steps specific for ADC based electronics: |
Line 26: | Line 20: |
---- /!\ '''Edit conflict - other version:''' ---- |
|
Line 30: | Line 22: |
|| 3. Pulse finding || ''!PulseFinderProcessor'' || '''!TrackerPulse''' || '''''TPCPulses''''' || ConversionFactor(?)|| | || 3. Pulse finding || ''!PulseFinderProcessor'' || '''!TrackerPulse''' || '''''TPCPulses''''' || !ConversionFactor(?)|| |
Line 32: | Line 24: |
|| 5. Hit finding || ''!HitTrackFinderTopoProcessor'' || '''!TrackerHit''' || '''''TPCHits''''' || ? || | || 5. Hit finding || ''!HitTrackFinderTopoProcessor'' || '''!TrackerHit''' || '''''TPCHits''''' || Drift velocity || |
Line 41: | Line 33: |
---- /!\ '''Edit conflict - your version:''' ---- Then the more generic reconstruction: || step || Processor name || Data output type || Default collection name || Conditions objects || || 3. Pulse finding || ''!PulseFinderProcessor'' || '''!TrackerPulse''' || '''''TPCPulses''''' || !ConversionFactor(?)|| || 4. Channel mapping || ''!ChannelMapperProcessor'' || '''!TrackerPulse''' || '''''TPCPulsesMapped''''' || Channel Mapping || || 5. Hit finding || ''!HitTrackFinderTopoProcessor'' || '''!TrackerHit''' || '''''TPCHits''''' || ? || The next step is actually dependent on which kind of track model is used. The track model (straight line, circle, helix) determines which kind of track is searched and reconstructed. The given chain is for straight lines. || step || Processor name || Data output type || Default collection name || Conditions objects || || 6. Track finding || ''!TrackFinderHoughProcessor'' || '''Track''' || '''''TPCTrackCandidates'''''|| || || 7. Track fitting || ''!LinearRegressionProcessor'' || '''Track''' || '''''TPCSeedTracks''''''|| || ---- /!\ '''End of edit conflict''' ---- |
|
Line 61: | Line 37: |
The objects are commonly '''LCGenericObjects''', defined in /tpcconddata ---- /!\ '''Edit conflict - other version:''' ---- |
The objects are commonly LCGenericObjects, defined in /tpcconddata |
Line 67: | Line 41: |
---- /!\ '''Edit conflict - your version:''' ---- Predefined/static input is: ---- /!\ '''End of edit conflict''' ---- |
|
Line 77: | Line 46: |
---- /!\ '''Edit conflict - other version:''' ---- Actual processing determines further input to the reconstruction: ---- /!\ '''Edit conflict - your version:''' ---- ---- /!\ '''End of edit conflict''' ---- |
|
Line 86: | Line 48: |
|| adc2primary_electrons || ??? || ??? || '''''ConversionFactor''''' || | || adc2primary_electrons || ??? || ??? || '''''!ConversionFactor''''' || || Drift velocity || ??? || ??? || '''''!DriftVelocity''''' || |
The objective
The plan is: create a MarlinTPC processor chain that completely reflects the MultiFit reconstruction chain.
Use data taken with the MediTPC.
The processor chain
The first thing you need is the raw data from your detector. This LCIO file might have a single collection inside of the type Tracker'Raw'Data with the default name 'TPCRawData'. The list is not yet complete, possibly several processors need to be added.
In a table like fashion. First the steps specific for ADC based electronics:
step |
Processor name |
Data output type |
Default collection name |
Conditions objects |
1. Data conversion |
TrackerRawDataToDataConverterProcessor |
TrackerData |
TPCConvertedData |
Electronics |
2. Pedestal Subtraction |
PedestalSubtractorProcessor |
TrackerData |
TPCData |
Pedestal |
Then the more generic reconstruction:
step |
Processor name |
Data output type |
Default collection name |
Conditions objects |
3. Pulse finding |
PulseFinderProcessor |
TrackerPulse |
TPCPulses |
ConversionFactor(?) |
4. Channel mapping |
ChannelMapperProcessor |
TrackerPulse |
TPCPulsesMapped |
Channel Mapping |
5. Hit finding |
HitTrackFinderTopoProcessor |
TrackerHit |
TPCHits |
Drift velocity |
The next step is actually dependent on which kind of track model is used. The track model (straight line, circle, helix) determines which kind of track is searched and reconstructed. The given chain is for straight lines.
step |
Processor name |
Data output type |
Default collection name |
Conditions objects |
6. Track finding |
TrackFinderHoughProcessor |
Track |
TPCTrackCandidates |
|
7. Track fitting |
LinearRegressionProcessor |
Track |
TPCSeedTracks |
|
Conditions processing
For the chain to work several conditions objects are needed, although for now they may be implemented as processor parameters. The objects are commonly LCGenericObjects, defined in /tpcconddata
Predefined/static input is:
Description |
Data type |
Default name |
Electronics |
LCGenericObject |
? |
Channel Mapping |
LCGenericObject |
TPCADCChannelMapping |
Actual processing determines further input to the reconstruction:
step |
Processor name |
Data output type |
Default collection name |
Pedestal Calculation |
PedestalCalculator |
LCGenericObject |
TPCPedestal |
adc2primary_electrons |
??? |
??? |
ConversionFactor |
Drift velocity |
??? |
??? |
DriftVelocity |