@@ -92,6 +92,26 @@ DECLARE_SOA_TABLE(FilterColl, "AOD", "FILTERCOLL",
9292 o2::aod::collision::NumContrib,
9393 o2::aod::collision::CollisionTime,
9494 o2::aod::collision::CollisionTimeRes);
95+ DECLARE_SOA_TABLE (FilterCollLite, " AOD" , " FILTERCOLLLITE" ,
96+ o2::aod::collision::PosX,
97+ o2::aod::collision::PosY,
98+ o2::aod::collision::PosZ,
99+ o2::aod::collision::CovXX,
100+ o2::aod::collision::CovXY,
101+ o2::aod::collision::CovYY,
102+ o2::aod::collision::CovXZ,
103+ o2::aod::collision::CovYZ,
104+ o2::aod::collision::CovZZ,
105+ o2::aod::collision::Chi2,
106+ o2::aod::collision::NumContrib,
107+ o2::aod::collision::CollisionTime);
108+ DECLARE_SOA_TABLE (FilterCollPos, " AOD" , " FILTERCOLLPOS" ,
109+ o2::aod::collision::PosX,
110+ o2::aod::collision::PosY,
111+ o2::aod::collision::PosZ,
112+ o2::aod::collision::Chi2,
113+ o2::aod::collision::NumContrib,
114+ o2::aod::collision::CollisionTime);
95115DECLARE_SOA_TABLE (FilterTrack, " AOD" , " FILTERTRACK" ,
96116 o2::aod::track::CollisionId,
97117 aod::filtertracks::IsInsideBeamPipe,
@@ -152,12 +172,17 @@ struct FilterTracks {
152172 Produces<aod::FilterTrackMC> filteredTracksMC;
153173 Produces<aod::GenParticles> selectedGenParticles;
154174 Produces<aod::FilterColl> filterCollTable;
175+ Produces<aod::FilterCollLite> filterCollLiteTable;
176+ Produces<aod::FilterCollPos> filterCollPosTable;
155177
156178 SliceCache cache;
157179 // Configurable<int> dummy{"dummy", 0, "dummy"};
158180 Configurable<float > minTrackPt{" minTrackPt" , 0.25 , " min track pt" };
159181 Configurable<float > trackDcaXyMax{" trackDcaXyMax" , 0.5 , " max track pt" };
160182 Configurable<int > trackPtSampling{" trackPtSampling" , 0 , " track sampling mode" };
183+ Configurable<bool > produceCollTableFull{" produceCollTableFull" , false , " produce full collision table" };
184+ Configurable<bool > produceCollTableLite{" produceCollTableLite" , false , " produce lite collision table" };
185+ Configurable<bool > produceCollTableExtraLite{" produceCollTableExtraLite" , true , " produce extra lite collision table" };
161186 Configurable<float > trackPtWeightLowPt{" trackPtWeightLowPt" , 0 .01f , " trackPtWeightLowPt" };
162187 Configurable<float > trackPtWeightMidPt{" trackPtWeightMidPt" , 0 .10f , " trackPtWeightMidPt" };
163188 Configurable<float > collFilterFraction{" collFilterFraction" , 0 .05f , " collFilterFraction" };
@@ -296,7 +321,12 @@ struct FilterTracks {
296321 PROCESS_SWITCH (FilterTracks, processData, " process data" , true );
297322 void processCollisions (FilterCollisionsWithEvSel::iterator const & collision)
298323 {
299- filterCollTable (collision.bcId (), collision.posX (), collision.posY (), collision.posZ (), collision.covXX (), collision.covXY (), collision.covYY (), collision.covXZ (), collision.covYZ (), collision.covZZ (), collision.flags (), collision.chi2 (), collision.numContrib (), collision.collisionTime (), collision.collisionTimeRes ());
324+ if (produceCollTableFull)
325+ filterCollTable (collision.bcId (), collision.posX (), collision.posY (), collision.posZ (), collision.covXX (), collision.covXY (), collision.covYY (), collision.covXZ (), collision.covYZ (), collision.covZZ (), collision.flags (), collision.chi2 (), collision.numContrib (), collision.collisionTime (), collision.collisionTimeRes ());
326+ if (produceCollTableLite)
327+ filterCollLiteTable (collision.posX (), collision.posY (), collision.posZ (), collision.covXX (), collision.covXY (), collision.covYY (), collision.covXZ (), collision.covYZ (), collision.covZZ (), collision.chi2 (), collision.numContrib (), collision.collisionTime ());
328+ if (produceCollTableExtraLite)
329+ filterCollPosTable (collision.posX (), collision.posY (), collision.posZ (), collision.chi2 (), collision.numContrib (), collision.collisionTime ());
300330 }
301331 PROCESS_SWITCH (FilterTracks, processCollisions, " process collisions" , true );
302332
0 commit comments