code: func New(pub core.Publisher,
  	groups []cmd.CTGroup,
  	informational []cmd.LogDescription,
  	log blog.Logger,
  	stats metrics.Scope,
  ) *CTPolicy {
  	var finalLogs []cmd.LogDescription
  	for _, group := range groups {
  		for _, log := range group.Logs {
  			if log.SubmitFinalCert {
  				finalLogs = append(finalLogs, log)
  			}
  		}
  	}
  	for _, log := range informational {
  		if log.SubmitFinalCert {
  			finalLogs = append(finalLogs, log)
  		}
  	}
  
  	winnerCounter := prometheus.NewCounterVec(
  		prometheus.CounterOpts{
  			Name: "sct_race_winner",
  			Help: "Counter of logs that win SCT submission races.",
  		},
  		[]string{"log", "group"},
  	)
  	stats.MustRegister(winnerCounter)
  
  	return &CTPolicy{
  		pub:           pub,
  		groups:        groups,
  		informational: informational,
  		finalLogs:     finalLogs,
  		log:           log,
  		winnerCounter: winnerCounter,
  	}
  }
docs: // New creates a new CTPolicy struct