Size: 1314
Comment:
|
Size: 5180
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 8: | Line 8: |
== The chain == | == The processor chain == |
Line 13: | Line 13: |
In a table like fashion: | |
Line 15: | Line 14: |
|| step || Processor name || Data output type || Default collection name || || 1. Data conversion || ''!TrackerRawDataToDataConverterProcessor'' || '''!TrackerData''' || '''''TPCConvertedData''''' || || Pedestal Calculation || ''!PedestalCalculator'' || '''LCGenericObject''' || '''''TPCPedestal''''' || || 2. Pedestal Subtraction || ''!PedestalSubtractorProcessor'' || '''!TrackerData''' || '''''TPCData''''' || || 3. Pulse finding || ''!PulseFinderProcessor'' || '''!TrackerPulse''' || '''''TPCPulses''''' || || 4. Channel mapping || ''!ChannelMapperProcessor'' || '''!TrackerPulse''' || '''''TPCPulsesMapped''''' || || 5. Hit finding || ''?'' || '''???''' || '''''???''''' || |
---- /!\ '''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''' ---- || 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 || ---- /!\ '''Edit conflict - other 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''''''|| || ---- /!\ '''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''' ---- == 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 ---- /!\ '''Edit conflict - other version:''' ---- Predefined/static input is: ---- /!\ '''Edit conflict - your version:''' ---- Predefined/static input is: ---- /!\ '''End of edit conflict''' ---- || Description || Data type || Default name || || Electronics || '''LCGenericObject''' || ? || || Channel Mapping || '''LCGenericObject''' || '''''TPCADCChannelMapping''''' || Actual processing determines further input to the reconstruction: ---- /!\ '''Edit conflict - other version:''' ---- Actual processing determines further input to the reconstruction: ---- /!\ '''Edit conflict - your version:''' ---- ---- /!\ '''End of edit conflict''' ---- || step || Processor name || Data output type || Default collection name || || Pedestal Calculation || ''!PedestalCalculator'' || '''LCGenericObject''' || '''''TPCPedestal''''' || || adc2primary_electrons || ??? || ??? || '''''ConversionFactor''''' || |
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'.
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
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 |
Edit conflict - other version:
Then the more generic reconstruction:
step |
Processor name |
Data output type |
Default collection name |
Conditions objects |
3. Pulse finding |
PulseFinderProcessor |
TrackerPulse |
TPCPulses |
|
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 |
|
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
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: Predefined/static input is: Description Data type Default name Electronics LCGenericObject ? Channel Mapping LCGenericObject TPCADCChannelMapping Actual processing determines further input to the reconstruction: Actual processing determines further input to the reconstruction: step Processor name Data output type Default collection name Pedestal Calculation PedestalCalculator LCGenericObject TPCPedestal adc2primary_electrons ??? ??? Edit conflict - your version:
End of edit conflict
Conditions processing
Edit conflict - other version:
Edit conflict - your version:
End of edit conflict
Edit conflict - other version:
Edit conflict - your version:
End of edit conflict