Differences between revisions 1 and 19 (spanning 18 versions)
Revision 1 as of 2009-08-03 09:58:18
Size: 191
Comment:
Revision 19 as of 2010-01-13 11:18:51
Size: 5180
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
The plan is: create a MarlinTPC processor chain that completely reflects the MultiFit reconstruction chain. The plan is: create a MarlinTPC processor chain that completely reflects the !MultiFit reconstruction chain.
Line 8: Line 8:
== The chain == == 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''''' || 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

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

MediTPCProcessorChain (last edited 2012-01-17 12:12:13 by ChristophRosemann)